更改节点的nvm版本时,我遇到了yarn的问题。当我检查〜/ .nvm文件夹时,我注意到有两个节点版本。
我在全球安装了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是安装通过纱线brew,apt或非节点包管理器。虽然它有效,但事情可能会破裂。
所述顺便推荐描述如下。
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之间切换,并且纱线仍将起作用。
检查是否有~/.npmrc文件。
如果是,请删除其中的内容。
我最近遇到了这个问题(在 Mac 上)。我不得不使用
brew install yarn --ignore-dependencies
Run Code Online (Sandbox Code Playgroud)
这为我做到了。无论我使用 nvm 切换到哪个节点版本,Yarn 都可用。希望这有助于某人。更多信息可以在这里找到:https : //yarnpkg.com/lang/en/docs/install/#mac-stable