How to display yarn globally installed packages?

我与影子孤独终老i 提交于 2019-12-03 11:13:01

问题


I am using MacOs Sierra 10.12.4 and I have installed yarn by brew install yarn and it's version is yarn version v0.23.2

I installed angular-cli, bower and ionic using yarn global add <package-name>

Then I use yarn global ls to display globally installed packages and I am expecting to see the above installed packages but yarn gives me this:

$ yarn global ls                                                               
yarn global v0.23.2
warning No license field
✨  Done in 0.99s.

Then i check yarn global bin and get path /Users/myusername/.config/yarn/bin and I go to the directory and see softlinks:

lrwxr-xr-x  1 myusername  staff    38B 19 Apr 10:17 bower -> ../global/node_modules/bower/bin/bower
lrwxr-xr-x  1 myusername  staff    42B 19 Apr 10:21 cordova -> ../global/node_modules/cordova/bin/cordova
lrwxr-xr-x  1 myusername  staff    38B 19 Apr 10:20 ionic -> ../global/node_modules/ionic/bin/ionic
lrwxr-xr-x  1 myusername  staff    41B 19 Apr 10:15 ng -> ../global/node_modules/angular-cli/bin/ng

Apparently all packages were installed and saved under /Users/myusername/.config/yarn/global/node_modules

I searched the following threads https://github.com/yarnpkg/yarn/issues/2446

Tried appending below paths but still not work:

YARN_BIN=$HOME/.config/yarn/bin  # `yarn global bin` result
export PATH=$YARN_BIN:$PATH
export PATH=$PATH:$HOME/.config/yarn/global/node_modules/.bin

Can anyone help? What should I do and how to display the globally installed packages?


回答1:


yarn global list is currently broken, too. See the related issue.

Currently I directly list Yarn global packages folder content:

  • Windows: %LOCALAPPDATA%/Yarn/config/global
  • OSX and Linux non-root: ~/.config/yarn/global
  • Linux if logged in as root: /usr/local/share/.config/yarn/global



回答2:


yarn global list has been fixed, see issue and pull request.




回答3:


I have did some research for a couple of days but haven't get quite helpful solutions. #2224 #3142 and some other Github issues relate to this.

This is how I get the global installed packages so far:

  1. go to ~/.config/yarn/bin, it shows the packages but no version tags.
  2. go to ~/.config/yarn/global and run cat package.json to display the installed packages

Content:

{
    "dependencies": {
    "angular-cli": "^1.0.0-beta.28.3",
    "bower": "^1.8.0",
    "yo": "^1.8.5",
    "browser-sync": "^2.18.8",
    "cordova": "^6.5.0",
    "generator-jhipster": "^4.3.0",
    "ionic": "^2.2.2",
    "ts": "^0.0.0",
    "typescript": "^2.2.2"
    }
}

To check whether the info is accurate, I run yarn global remove yo, then yo is gone in the ~/.config/yarn/bin folder and then I cat package.json again and yo has removed from the file as well.

  "dependencies": {
    "angular-cli": "^1.0.0-beta.28.3",
    "bower": "^1.8.0",
    "browser-sync": "^2.18.8",
    "cordova": "^6.5.0",
    "generator-jhipster": "^4.3.0",
    "ionic": "^2.2.2",
    "ts": "^0.0.0",
    "typescript": "^2.2.2"
  }
}

npm works perfectly on my machine but yarn is much faster, that's why I don't want to go back to npm... Hope someone can provide more elegant way to achieve this.



来源:https://stackoverflow.com/questions/43501514/how-to-display-yarn-globally-installed-packages

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!