纱线未在nvm版本中安装节点版本

me-*_*-me 9 npm nvm yarnpkg

更改节点的nvm版本时,我遇到了yarn的问题。当我检查〜/ .nvm文件夹时,我注意到有两个节点版本。

  • v8.11.0
  • v8.11.3。

我在全球安装了yarn。我在使用v8.11.0时使用npm install -g yarn

我可以看到我的纱

.nvm/versions/node/v8.11.0
Run Code Online (Sandbox Code Playgroud)

但是,当我切换到nvm v8.11.3或将我的nvm别名默认设置为v8.11.3时,
纱不再可用。我尝试再次进行全局安装,希望将其添加到我的v8.11.3文件夹中,但它一直尝试将其添加到v8.11.0中

我什至删除了文件夹v8.11.0,但是在运行npm install -g yarn时它会重新创建它

如何安装它,以便可以在nvm中使用任何节点版本开关使用yarn

XPL*_*1ON 37

OP 描述的问题是由于全局安装的包位于其受尊重的命名空间(它们的版本)中,并且不能跨版本共享。有几种方法可以解决这个问题。的NON-RECOMMEND WAY是安装通过纱线brewapt或非节点包管理器。虽然它有效,但事情可能会破裂。

所述顺便推荐描述如下。
nvm 有一个非常好的默认包安装程序。这将在使用 nvm 安装新节点版本时安装指定的软件包。

在 处创建一个文本文件$NVM_DIR/default-packages,通常位于 处~/.nvm/default-packages,其中包含要安装的 npm 包列表。内容可能如下所示

@vue/cli
create-react-app
firebase-tools
yarn
Run Code Online (Sandbox Code Playgroud)

文档链接在这里

尝试运行nvm install --lts安装 node 的最新 lts 版本, 中指定的包default-packages将被自动安装。


TMT*_*TMT 18

当使用nvm安装新的节点版本,然后使用npm安装yarn时,需要为新的节点版本重新安装yarn。

尝试:

nvm install 8.11.3
nvm use 8.11.3
npm install -g yarn
Run Code Online (Sandbox Code Playgroud)

这会将纱线安装在:

.nvm/versions/node/v8.11.3/
Run Code Online (Sandbox Code Playgroud)

然后,您可以在8.11.0和8.11.3之间切换,并且纱线仍将起作用。


bel*_*ere 8

检查是否有~/.npmrc文件。

如果是,请删除其中的内容。

  • 这不是执行此操作的方法,`~/.nmprc` 文件通常包含其他配置设置以用于 github 访问等 - 不要删除此文件的内容 (10认同)

dou*_*eya 5

我最近遇到了这个问题(在 Mac 上)。我不得不使用

brew install yarn --ignore-dependencies
Run Code Online (Sandbox Code Playgroud)

这为我做到了。无论我使用 nvm 切换到哪个节点版本,Yarn 都可用。希望这有助于某人。更多信息可以在这里找到:https : //yarnpkg.com/lang/en/docs/install/#mac-stable

  • 这将起作用,但也会导致使用与 brew 一起安装的纱线,无论 nvm 使用什么节点版本。所以如果你想在不同的项目上使用不同的纱线版本,这会导致问题。 (4认同)