You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在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:

  1. 先安装必要的依赖工具:

    sudo apt update
    sudo apt install -y curl gnupg2 ca-certificates lsb-release
    
  2. 添加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
    
  3. 添加源的GPG密钥(确保安装包的合法性):

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
    
  4. 更新源并安装指定版本的Node.js:

    sudo apt update
    sudo apt install -y nodejs=6.12.2-1nodesource1
    

    划重点:Node.js v6.12.2自带的npm就是v3.10.10,所以不需要单独安装npm。

  5. 验证安装结果:

    node -v  # 应该输出 v6.12.2
    npm -v   # 应该输出 3.10.10
    

方法二:使用nvm(Node版本管理器,适合多版本切换)

如果你需要在不同Node.js版本之间来回切换,nvm是个非常顺手的工具:

  1. 安装nvm的依赖:
    sudo apt update
    sudo apt install -y curl git
    
  2. 安装nvm:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    
    执行完后,关闭当前终端重新打开,或者执行source ~/.bashrc让nvm环境生效。
  3. 安装指定版本的Node.js:
    nvm install 6.12.2
    
    这个命令会自动下载并安装Node.js v6.12.2,以及对应的npm v3.10.10。
  4. 设置该版本为默认版本:
    nvm alias default 6.12.2
    
  5. 验证安装结果:
    node -v
    npm -v
    

内容的提问来源于stack exchange,提问作者Mojtaba Arvin

火山引擎 最新活动