探究: nvm切换版本后全局包丢失或失效?

2,667 阅读3分钟

前言

当我们在使用nvm切换Node.js版本后,发现以前安装的全局yarn包不起作用时,我们就像是换了新衣服后,发现口袋里的零钱不见了。我们需要找到这些“失踪”的yarn包,并给它们一个新的家。就像是给迷路的包裹办理了改地址手续,让它们能够按时被投递到正确的地方。

当然,在这个过程中,我们也需要告诉新的Node.js版本,这些yarn包所在的正确路径,这样它们就能顺利被找到,就像是给GPS导航更新了最新地图一样。最终,我们会发现,重新安装全局yarn包和配置环境变量,就像是找到了那些“失散已久”的朋友,我们再次能够和它们一同开开心心地工作。

这样,我们就能够在不同的Node.js版本中灵活切换,并一起享受代码的舞蹈,就像是一场华丽的变装秀,每一次切换都是一次新的惊喜。

所以,不要担心,让我们用愉快的心态,解决nvm切换版本后yarn失效的问题吧! 如图是切换前后,全局包的情况

image.png

image.png

解决方案

要解决这个问题,我们需要执行以下一系列步骤:

步骤 1:查找全局包的安装路径

在开始解决问题之前,我们需要先找到全局yarn包的安装路径。在命令行中执行以下命令:

npm config get prefix

这将输出全局安装包的路径,类似于:/Users/your-username/.npm-packages

步骤 2:切换到新的Node.js版本

使用nvm切换到您需要的新的Node.js版本。例如,执行以下命令切换到版本14:

nvm use 14

步骤 3:重新安装全局包

切换到新的Node.js版本后,我们需要重新安装全局yarn包。在终端中执行以下命令:

npm install -g yarn

这将在新的Node.js版本下重新安装yarn。

步骤 4:配置环境变量

为了让新的Node.js版本能够找到重新安装的全局yarn包,我们需要配置相应的环境变量。

在终端中打开您的shell配置文件(例如.bashrc、.zshrc或.profile)。添加以下代码来设置全局yarn的安装路径:

export PATH="$PATH:/Users/your-username/.npm-packages/bin"

确保将路径/Users/your-username/.npm-packages/bin替换为您在第一步中找到的全局安装路径。

保存并关闭文件,然后重新打开一个新的终端窗口,或者执行以下命令使配置生效:

source ~/.bashrc

测试

完成上述步骤后,您可以在新的Node.js版本中执行yarn命令来测试是否解决了问题。确保新版本下的yarn能够正常工作。

结论

通过按照上述步骤重新安装全局yarn包并配置环境变量,我们可以解决nvm切换版本后yarn失效的问题。这样,您就可以在不同的Node.js版本下使用全局yarn包来管理项目依赖。确保在切换Node.js版本时,同步更新相关的全局包以避免出现问题。