NodeJS 无法使用NVM切换节点版本

rqqzpn5f  于 2022-12-26  发布在  Node.js
关注(0)|答案(2)|浏览(156)

似乎无法使用nvm切换当前节点版本
下面是nvm debug的输出

nvm --version: v0.37.2
$TERM_PROGRAM: vscode
$SHELL: /bin/bash
$SHLVL: 2
whoami: 'john'
${HOME}: /Users/john
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: /usr/local/homebrew/opt/python3.8/bin:/usr/local/bin/node:${HOME}/.symfony/bin:${HOME}/.composer/vendor/bin:/usr/bin/python2.7:/usr/local/homebrew/bin:/Applications/MAMP/Library/bin:${NVM_DIR}/versions/node/v10.3.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/usr/local/homebrew/opt/python3.8/bin:/usr/local/bin/node:${HOME}/.symfony/bin:${HOME}/.composer/vendor/bin:/usr/bin/python2.7:/usr/local/homebrew/bin:/Applications/MAMP/Library/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin20)'
uname -a: 'Darwin 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64'
checksum binary: 'shasum'
OS version: macOS 11.2 20D64
curl: /Applications/MAMP/Library/bin/curl, curl 7.52.1 (x86_64-apple-darwin13.4.0) libcurl/7.52.1 OpenSSL/1.0.2j zlib/1.2.8
wget: not found
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/local/bin/git, git version 2.16.2
grep: /usr/bin/grep, grep (BSD grep) 2.5.1-FreeBSD
awk: /usr/bin/awk, awk version 20200816
nvm current: system
which node: /usr/local/homebrew/bin/node
which iojs: 
which npm: /usr/local/homebrew/bin/npm
npm config get prefix: /usr/local/homebrew
npm root -g: /usr/local/homebrew/lib/node_modules

我可以使用brew来切换我的节点版本,但我只能切换节点的主版本。我可以运行brew link node@10,它确实会更改为节点版本10。但是,我想要的节点版本10.3.0,我不能通过brew切换到它。
NVM我可以使用nvm install 10.3.0安装节点,并且可以运行nvm use 10.3.0但是,当我打开新终端并运行node -v时,它显示了节点的不同版本。

v8.10.0
        v10.3.0
        v10.9.0
        v11.0.0
       v14.15.5
        v15.8.0
->       system
default -> 11.0.0 (-> v11.0.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v15.8.0) (default)
stable -> 15.8 (-> v15.8.0) (default)
lts/* -> lts/fermium (-> v14.15.5)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.23.3 (-> N/A)
lts/erbium -> v12.20.2 (-> N/A)
lts/fermium -> v14.15.5
toiithl6

toiithl61#

我现在找到了一个解决办法,我必须从自制程序中卸载节点,因为自制程序控制节点的版本,一旦我从自制程序中卸载并删除了所有相关的节点文件,我就可以使用nvm来切换我的节点版本。

lrpiutwd

lrpiutwd2#

尝试禁用然后再启用nvm,之后,您应该能够切换到任何已安装的节点版本。

nvm off
nvm on
nvm use [any node version].

现在尝试以下命令之一来检查节点是否正常工作及其版本:

node -v OR nvm list OR nvm current

如果仍然不起作用,请尝试以管理员身份运行cmd。搜索cmd并单击“以管理员身份运行”enter image description here

相关问题