如何在Ubuntu 16.04中安装npm v3.10.10与Node.js v6.12.2?
在Ubuntu 16.04中安装Node.js v6.12.2和npm v3.10.10的正确方法
先给你捋清楚之前踩坑的原因:
- 用
sudo npm install npm@3.10.10时弹出的ENOENT警告,是因为当前目录没有package.json文件(npm默认会在项目目录下执行操作),而且用npm自身升级npm并非系统级安装的推荐方式,很容易引发路径冲突。 - 尝试
sudo npm install nodejs@6.12.2失败,是因为npm仓库里的nodejs包不是官方Node.js包,官方包的名称是node,而且就算安装成功也只是局部环境生效,不是系统级的,所以才会出现版本不兼容的错误。
既然你已经彻底卸载了旧的Node.js和npm,咱们用两种靠谱的方法来安装指定版本:
方法一:使用NodeSource官方源(推荐,系统级安装)
NodeSource提供了各版本Node.js的专属软件源,完美适配Ubuntu 16.04:
先安装必要的依赖工具:
sudo apt update sudo apt install -y curl gnupg2 ca-certificates lsb-release添加Node.js v6.x的源:
sudo tee /etc/apt/sources.list.d/nodesource.list <<EOF deb https://deb.nodesource.com/node_6.x xenial main deb-src https://deb.nodesource.com/node_6.x xenial main EOF添加源的GPG密钥(确保安装包的合法性):
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -更新源并安装指定版本的Node.js:
sudo apt update sudo apt install -y nodejs=6.12.2-1nodesource1划重点:Node.js v6.12.2自带的npm就是v3.10.10,所以不需要单独安装npm。
验证安装结果:
node -v # 应该输出 v6.12.2 npm -v # 应该输出 3.10.10
方法二:使用nvm(Node版本管理器,适合多版本切换)
如果你需要在不同Node.js版本之间来回切换,nvm是个非常顺手的工具:
- 安装nvm的依赖:
sudo apt update sudo apt install -y curl git - 安装nvm:
执行完后,关闭当前终端重新打开,或者执行curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bashsource ~/.bashrc让nvm环境生效。 - 安装指定版本的Node.js:
这个命令会自动下载并安装Node.js v6.12.2,以及对应的npm v3.10.10。nvm install 6.12.2 - 设置该版本为默认版本:
nvm alias default 6.12.2 - 验证安装结果:
node -v npm -v
内容的提问来源于stack exchange,提问作者Mojtaba Arvin




