如何在全球范围内展示纱线?

时间:2017-04-19 16:42:33

标签: yarnpkg

我正在使用MacO Sierra 10.12.4并且我已按brew install yarn安装了纱线,其版本为yarn version v0.23.2

我使用angular-cli

安装了bowerionicyarn global add <package-name>

然后我使用yarn global ls显示全局安装的软件包,我希望看到上面安装的软件包,但纱线给了我这个:

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

然后我检查yarn global bin并获取路径/Users/myusername/.config/yarn/bin,然后转到目录并查看软链接:

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

显然所有软件包都已安装并保存在/Users/myusername/.config/yarn/global/node_modules

我搜索了以下主题 https://github.com/yarnpkg/yarn/issues/2446

尝试在路径下方追加,但仍无效:

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

有人可以帮忙吗?我该怎么做以及如何显示全局安装的包?

4 个答案:

答案 0 :(得分:10)

yarn global list目前也已被打破。请参阅the related issue

目前我直接列出Yarn global packages folder内容:

  • Windows:%LOCALAPPDATA%/Yarn/config/global
  • OSX和Linux非root用户:~/.config/yarn/global
  • Linux如果以root身份登录:/usr/local/share/.config/yarn/global

答案 1 :(得分:0)

我做了几天的研究,但没有得到很有帮助的解决方案。 #2224 #3142以及其他一些Github问题与此有关。

到目前为止,这是我获取全局安装包的方式:

  1. 转到~/.config/yarn/bin,它会显示包但没有版本标记。
  2. 转到~/.config/yarn/global并运行cat package.json以显示已安装的软件包
  3. 内容:

    {
        "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"
        }
    }
    

    要检查信息是否准确,我运行yarn global remove yo,然后yo文件夹中的~/.config/yarn/bin消失了,然后再次cat package.json,并且您已从文件也是。

      "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在我的机器上完美运行,但纱线速度更快,这就是为什么我不想回到npm ...... 希望有人能提供更优雅的方式来实现这一目标。

答案 2 :(得分:0)

yarn global list已修复,请参见issuepull request

答案 3 :(得分:0)

我在 Windows 10 中找到了我的解决方案:

C:\Users\{YOUR_USERNAME}\node_modules\.bin

只需将此路径添加到我的 environment variables