如下图所示,根据运行的命令,我看到了两个不同版本的node。
我需要较新的版本,但npm看到旧版本。
我多次拆除、清除、重新安装等。我试着以root身份安装nvm并在那里设置节点版本,但也无济于事。如果我使用apt install nodejs而不是nvm,它会告诉我我已经有了最新版本,它认为是12.22.9.如何让npm识别我通过nvm安装的节点的新版本(18.12.1)?
apt install nodejs
12.22.9.
18.12.1
f0brbegy1#
这是因为您为root用户和该特定用户安装了不同版本的Node.js。首先,您需要卸载Node.js:
sudo apt-get remove nodejs
或
sudo npm rm npm -g
如果您对上述命令有任何问题,则在运行which node命令后,转到该目录,并运行以下命令:
which node
rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1
如果需要,对当前用户执行相同的操作。
默认的Ubuntu/Debian软件包管理器没有最新的Node.js,这就是为什么当你尝试安装带有apt install nodejs的Node.js时,它会说你有最新的版本。根据Node.js官方文档,要安装最新版本,您应该按照以下步骤操作:
使用Ubuntu
curl -fsSL https://deb.nodesource.com/setup_19.x | sudo -E bash - &&\ sudo apt-get install -y nodejs
**P.S:**不需要运行npm或带有sudo的node。因此,我强烈建议您不要将每个命令都与sudo一起使用。
sudo
1条答案
按热度按时间f0brbegy1#
这是因为您为root用户和该特定用户安装了不同版本的Node.js。
首先,您需要卸载Node.js:
或
如果您对上述命令有任何问题,则在运行
which node
命令后,转到该目录,并运行以下命令:如果需要,对当前用户执行相同的操作。
默认的Ubuntu/Debian软件包管理器没有最新的Node.js,这就是为什么当你尝试安装带有
apt install nodejs
的Node.js时,它会说你有最新的版本。根据Node.js官方文档,要安装最新版本,您应该按照以下步骤操作:
使用Ubuntu
**P.S:**不需要运行npm或带有
sudo
的node。因此,我强烈建议您不要将每个命令都与sudo
一起使用。