纱线正在为我工作,直到我决定我需要多个版本的节点。 所以我卸载了纱线并安装了nvm,按照以下指导进行操作
然后,我使用msi安装程序成功重新安装纱线。 不幸的是, yarn global add [name]
安装的软件包在一个看起来横跨所有nvm控制的节点版本的位置 ,但它们同样无法访问。 就是说,npm找不到纱线全球安装的东西。 或者,例如,在全球使用纱线安装gulp后,我发现gulp在命令行上不可用(并且它的cmd文件在c:\ program files \ nodejs中找不到)。
所以我卸载了纱msi。 然后npm i --global yarn
build议在 npm i --global yarn
重新安装纱线。 这最终导致纱线与当前nvm受控节点版本相关联。 优秀。
但是,当我再次尝试纱线来安装全局包时,我发现它们没有正确安装。 比如我跑了:
nvm use 5.11.0 yarn global add jspm gulp karma karma-cli
软件包安装成功,但是当我从命令行尝试“gulp”时,它不可用。 另外,当我npm ls --global --depth=1
我看到我安装的软件包无处可npm ls --global --depth=1
。 如果我尝试yarn global ls --depth=0
它需要很长的时间才能告诉我,我的包(jspm,gulp,karma,karma-cli)实际上是安装的。
更糟的是,我后来决定做以下事情:
nvm use 7.3.0 //fresh node install...no packages installed npm i --global yarn yarn global ls
然后,yarn命令会显示与nvm use 5.11.0
版本时全局安装的相同的软件包。 总之,纱线坚持某种全球安装位置(与nvm控制节点版本不同)。 我也不知道纱线保存这些全局包的文件位置,所以我不知道如何“卸载”我可以尝试。
总之,我不认为yarn和nvm是兼容的。 它是否正确?
我发现问题1491可能包含我的答案。 我了解到:
%LocalAppData%\Yarn
我想在我安装nvm之前,纱线工作的原因,只是我没有尝试使用安装全局包…因此还没有注意到这个错误。 总之,我认为nvm是好的。 然而,现在我觉得我正在浪费我的时间,使用npm i --global yarn
方法来安装纱线,因为纱线只是简单地把所有的全球包裹放到一个地方。 而且,由于目前的错误,我应该用来安装全局包的唯一工具是npm本身。