NodeJS 在mac上“nvm use”后,节点版本未更新

e7arh2l6  于 2023-01-20  发布在  Node.js
关注(0)|答案(5)|浏览(337)

我正在尝试使用nvm将本地节点版本从8.9.0更新到8.10.0。但是它没有得到反映。下面是我所尝试的:
node -v
-> v8.9.0
nvm use 8.10.0
-> Now using node v8.10.0 (npm v5.5.1)
node -v
-> v8.9.0
我不明白为什么它不会改变。请让我知道我做错了什么。

z4bn682m

z4bn682m1#

添加一些关于我调试这个问题的经验的注解。
首先,我从Jonathanwhich -a node提供的命令开始,得到了与op相同的输出:

/usr/local/bin/node
/Users/<my-user>/.nvm/versions/node/v8.10.0/bin/node

继续乔纳森的下一个评论:* 您是否也通过Homebrew安装了节点?*,我尝试通过brew uninstall node卸载节点,并得到一个错误,说它无法卸载节点,因为有另一个程序依赖于它。yarn
然后意识到brew已经安装了自己的node版本,因为我通过brew安装了yarn,这覆盖了我想通过nvm使用的node版本。
卸载brew版本的yarn + node解决了我的问题,我仍然需要yarn,现在我必须为nvm管理的每个节点版本全局安装yarn
不方便,我同意。但是在我看来,为每个项目维护两万个版本的节点也没有太大区别。
所有这些都是在M1 MacOS上完成的,输出可能会因系统而异。

des4xlb0

des4xlb02#

请确保在命令提示符下输入arch时,输出为i386
这是使用Rosetta实现的。
终端上的以下命令顺序工作:-

nvm install 8.10.0
nvm install --lts
nvm ls
brew upgrade
arch -arm64 brew install n
n

现在使用键盘上的向上或向下箭头键选择节点版本8.10.0,然后使用command+q退出命令提示符
请不要尝试brew uninstall --ignore-dependencies node

wgeznvg7

wgeznvg73#

先检查环境变量,它可能Map到node@8.9.0,你需要先删除环境变量。

jrcvhitl

jrcvhitl4#

如果您同时使用Volta,Volta可能优先。
使用which -a node进行验证。
如果是这种情况,请使用volta pin node@version进行切换。

wsxa1bj1

wsxa1bj15#

首先检查本地系统上安装的nvm版本。转到命令提示符并键入"nvm list"如果列表中没有显示版本8.10.0,请使用以下命令安装:"nvm安装8. 10. 0",然后尝试"nvm使用8. 10. 0"。
供参考:http://www.tutorial-points.com/2018/11/nvm-installation-on-windows.html

相关问题