在ubuntu 16.04上更新nodejs

ank*_*kur 118 ubuntu node.js

我最近浏览了我的ubuntu 16.04中的节点版本,当使用node -v命令时它显示我的版本6.9.1但是当nodejs -v它在使用此命令之前显示6.9.2 时使用了命令npm update.

现在,什么是在这些差异node -vnodejs -v?以及如何更新到节点/ nodejs的最新LTS版本?

小智 262

要更新,您可以安装n

sudo npm install -g n
Run Code Online (Sandbox Code Playgroud)

然后就是:

sudo n latest
Run Code Online (Sandbox Code Playgroud)

或特定版本

sudo n 8.9.0
Run Code Online (Sandbox Code Playgroud)

  • 如果你想要更多的稳定性保证并且不需要最新的前沿功能,你也可以使用`sudo n current`或`sudo n lts`. (26认同)
  • @thund我赞成你的评论,但实际上'sudo n current`不存在,我认为你的意思是'sudo n stable" (9认同)
  • ubuntu上的sudo n给了我命令无法识别 (3认同)
  • 出于安全原因,我会写`sudo n lts` (2认同)

Dev*_*pia 125

根据官方的文档,以在Ubuntu 14.04,16.04,18.04,18.10安装节点:

node v6(旧版本):

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

node v8(旧版本):

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

node v10 LTS(对于新用户:安装此用户):

curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

node v11(当前版本):

sudo apt-get install -y build-essential
Run Code Online (Sandbox Code Playgroud)

可选:安装构建工具

编译和安装本机包

sudo apt update
sudo apt upgrade
Run Code Online (Sandbox Code Playgroud)

要将节点更新到最新版本:

sudo npm i -g npm
Run Code Online (Sandbox Code Playgroud)

保持npm更新

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

要查找其他版本,请尝试npm info npm在版本中找到所需的版本,并将[version-tag]替换为该版本标签npm i -g npm@[version-tag]

而且我也建议尝试纱线而不是npm


Dar*_*ght 13

用于使用包管理器sudo apt-get install --only-upgrade nodejs升级节点(并且仅升级节点).

包名称nodejs,请参阅/sf/answers/1269120751/了解详细信息.

您还可以使用nvm安装和更新节点.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

然后重启终端,用于nvm ls-remote获取节点的最新版本列表,并用于nvm install lts/*安装最新的LTS版本.

nvm 更推荐的安装或更新节点的方法,即使您不打算切换版本.


Mah*_*ary 12

使用npm中的n 模块来升级节点

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
Run Code Online (Sandbox Code Playgroud)

要升级到最新版本(而不是当前稳定的)版本,您可以使用

sudo n latest
Run Code Online (Sandbox Code Playgroud)

撤消:

sudo apt-get install --reinstall nodejs-legacy # fix /usr/bin/node sudo n rm 6.0.0 # 用安装的 Node 版本替换数字 sudo npm uninstall -gn


Ahm*_*any 10

使用节点版本管理器(NVM):

安装它:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

测试你的安装:

关闭当前终端,打开一个新终端,然后运行:

command -v nvm
Run Code Online (Sandbox Code Playgroud)

使用它来安装尽可能多的版本:

nvm install 8              # Install nodejs 8
nvm install --lts          # Install latest LTS (Long Term Support) version
Run Code Online (Sandbox Code Playgroud)

列出安装的版本:

nvm ls
Run Code Online (Sandbox Code Playgroud)

使用特定版本:

nvm use 8                  # Use this version on this shell
Run Code Online (Sandbox Code Playgroud)

设置默认值:

nvm alias default 8        # Default to nodejs 8 on this shell
nvm alias default node     # always use latest available as default nodejs for all shells
Run Code Online (Sandbox Code Playgroud)