最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Yarn和NVM可以在Windows上共存吗?

运维笔记admin9浏览0评论

Yarn和NVM可以在Windows上共存吗?

Yarn和NVM可以在Windows上共存吗?

Yarn一直在为我工作,直到我决定需要多个版本的节点。所以我按照the following guide的指示卸载了纱线并安装了nvm

然后我使用msi安装程序成功重新安装了纱线。不幸的是,yarn global add [name]在a location seemingly spanning all nvm-controlled node versions安装了软件包,但同样无法访问所有软件包。也就是说,npm无法通过纱线找到全局安装的任何东西。或者,例如,在使用yarn全局安装gulp之后,我发现gulp在命令行上不可用(并且在c:\ program files \ nodejs中找不到它的cmd文件)。

所以我卸载了纱线msi。然后我简单地用npm i --global yarn重新安装纱线,作为suggested here。最后,这导致纱线与当前的nvm受控节点版本相关联。优秀的。

但是,当我再次尝试使用yarn来安装全局软件包时,我发现它们没有正确安装。比如我跑了:

nvm use 5.11.0
yarn global add jspm gulp karma karma-cli

软件包安装成功,但是当我从命令行尝试“gulp”时,它不可用。此外,当我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不兼容。这个对吗?

Version Info

  • Windows 10 Pro,x64
  • nvm v1.1.3
  • 纱线v0.21.3
  • 节点5.11.0(由NVM选择)
  • 节点7.8.0(由NVM选择)

Update

我发现issue 1491可能包含我的答案。我了解到:

  1. 全局安装的纱线包的位置有意地位于与全球安装的包裹不同的位置。
  2. 确实存在一个纱线错误,它阻止全局安装的软件包在命令行上可用(doh!)。这违背了全球安装包的目的。
  3. Yarn在Windows上保存数据的位置是%LocalAppData%\Yarn

我认为纱线在我安装nvm之前工作的原因,只是我没有尝试过使用安装全局软件包......因此还没有注意到这个bug。简而言之,我认为nvm很好。然而,我现在觉得我在浪费时间使用npm i --global yarn方法来安装纱线...因为纱线无论如何都会简单地将所有的全球包裹放入一个地方。而且,由于当前的错误,我应该用来安装全局包的唯一工具是npm本身。

回答如下:

不久之前你曾问过,但我刚刚介绍了你的问题。

您可以简单地将yarn作为节点模块全局安装:

 npm i -g yarn

使用nvm-windows时,这非常有效。

附加提示:由于使用nvm切换到新节点版本需要重新安装所有全局安装的节点模块,我开始使用yarn而不是npm来管理除npm和yarn本身之外的所有其他全局模块。这样,更新节点是非常轻松的。

发布评论

评论列表(0)

  1. 暂无评论