正常安装的步骤是先运行
当我运行
许多文章都建议使用PPA来安装nodejs,但我认为应该有一种通过
DigitalOcean关于正常安装和通过PPA安装的说明:https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04 TecAdmin关于通过PPA安装的说明:https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/
sudo apt install nodejs
来安装Node.js,然后再运行sudo apt install npm
来安装Node Package Manager。然而,在这样做之后,npm -v
显示的版本是3.5.2
。要进行正常的升级,我会运行sudo npm install -g npm
,这将更新到最新版本(在撰写本文时,最新版本是6.0.1
)。当我运行
which npm
时,得到的路径是/usr/local/bin/npm
,然而apt
在/usr/bin/npm
处创建了一个符号链接。如果我运行sudo apt purge npm
来移除npm,它仍然会保留位于/usr/local/bin/npm
的npm版本,但是npm -v
会显示-bash: /usr/bin/npm: No such file or directory
。许多文章都建议使用PPA来安装nodejs,但我认为应该有一种通过
apt
来完成的本地方式。DigitalOcean关于正常安装和通过PPA安装的说明:https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04 TecAdmin关于通过PPA安装的说明:https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/
/usr/bin/npm
中存储的npm
是否更好?如果两个版本都保留,为什么在清除bash缓存后会选择正确的版本? - temporary_user_nameecho $PATH
命令来查看路径,这将显示当 Bash 在路径中查找时,如果两个目标都存在,那么优先选择/usr/local/bin
而不是/usr/bin
。只有当 Bash 不记得之前找到目标的位置时,它才会在路径中查找。 - krubohash -d npm
,然后一切都正常了!太感谢了! - Tom Bird