如何将我的 nodeJS 更新到最新版本?

Kan*_*iya 902 apt nodejs

我已经使用以下代码在 Ubuntu 上安装了 nodeJS

sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)

由于我是 ubuntu 的新用户,因此我也运行了此代码

sudo apt-get install npm
Run Code Online (Sandbox Code Playgroud)

现在当我输入

 nodejs --version
Run Code Online (Sandbox Code Playgroud)

表明

v0.6.19
Run Code Online (Sandbox Code Playgroud)

我检查并看到最新的 nodeJS 版本是 0.10.26

如何将我的 nodeJS 版本更新为0.10.26

我试过

 sudo apt-get install <packagename>
 sudo apt-get install --only-upgrade <packagename>
Run Code Online (Sandbox Code Playgroud)

但没有运气。

小智 1502

使用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)

您可能需要重新启动终端才能查看更新的节点版本。

David Walsh 博客中找到

  • 我强烈建议不要在生产实例上这样做。它可能会严重影响您的全局 npm 包和安装新包的能力。 (62认同)
  • 不工作 - 按照步骤操作后,`node -v` 仍然给了我 6 版本,而不是 10。 (24认同)
  • `npm WARN 使用 --force 我当然希望你知道你在做什么。` 我不知道我在做什么...... (21认同)
  • 但仍然是 nodejs --version 播种 0.10.25 (19认同)
  • [大卫沃尔什说改用 NVM](https://davidwalsh.name/nvm) (15认同)
  • 我试过这个......现在当我运行`node`时出现这个错误`bash:/usr/bin/node:没有这样的文件或目录`我该怎么办? (7认同)
  • 安装时一切正常,但是当我检查版本“sudo nodejs -v”时,它给了我与以前相同的版本。 (4认同)
  • 我收到一个错误:/usr/bin/n: line 299: curl: command not found Error: invalid version 0.12.6 (3认同)
  • 不工作:`sudo:n:找不到命令` (3认同)
  • @eballeste `sudo ln -sf /usr/local/n/versions/node/&lt;VERSION&gt;/bin/node /usr/bin/node` 所以每次更改节点版本时都必须创建软链接? (2认同)
  • 在 Windows Linux 子系统上像魅力一样工作 (2认同)
  • 谢谢!这也适用于安装 LTS 版本:`sudo n lts` (2认同)

day*_*oli 546

完整的安装说明已经由 Nodesource上传到这里。复制如下,供大家参考。更新到最新版本的说明相同。

如果您不喜欢,curl ... | sudo bash -那么您可以按照手册说明进行操作,其中会告诉您如何将 Node.js 存储库添加到您/etc/apt/sources.list.d/自己。

注意:如果您使用的是 Ubuntu Precise 或 Debian Wheezy,您可能需要阅读有关在旧发行版上运行 Node.js >= 6.x 的信息

Node.js 当前:

# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_current.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v13.x

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_13.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v12.x

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v11.x

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v10.x

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v9.x

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_9.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v8.x

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v7.x

注意:Debian Wheezy 和 Ubuntu Precise 软件包适用于此版本。请参考在旧发行版上运行 Node.js >= 4.x

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_7.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v6.x

注意:如果您使用的是 Ubuntu Precise 或 Debian Wheezy,您可能需要阅读有关在旧发行版上运行 Node.js >= 4.x 的信息

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v5.x

注意:如果您使用的是 Ubuntu Precise 或 Debian Wheezy,您可能需要阅读有关在旧发行版上运行 Node.js >= 4.x 的信息

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_5.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v4.x

注意:如果您使用的是 Ubuntu Precise 或 Debian Wheezy,您可能需要阅读有关在旧发行版上运行 Node.js >= 4.x 的信息

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_4.x | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v0.12

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

Node.js v0.10

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.10 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.10 | bash -
apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

io.js v3.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_3.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_3.x | bash -
apt-get install -y iojs
Run Code Online (Sandbox Code Playgroud)

io.js v2.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_2.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_2.x | bash -
apt-get install -y iojs
Run Code Online (Sandbox Code Playgroud)

io.js v1.x :

注意:io.js 的这个分支没有积极维护,不推荐用于生产。

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_1.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_1.x | bash -
apt-get install -y iojs
Run Code Online (Sandbox Code Playgroud)

  • `卷曲{任何} | sudo bash -` 是一种糟糕的安全做法 (5认同)
  • 这是*安装*说明而不是*升级*说明。安装意味着它以前从未安装过。如果您已经如问题所暗示的那样安装了一个版本,那么如果您安装不同的版本会发生什么?你有版本冲突吗?安装会删除旧的吗? (3认同)
  • 对于所有像我这样困惑的白痴来说,运行安装似乎将有效地取代您以前拥有的一切。因此,我认为您可以通过此过程执行升级或降级。我从 v8 升级到 v10,我在安装日志中发现了这条消息:`Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ...`,安装后运行 `node -v` 愉快地显示`v10.15.0` 这就是我想要的。 (2认同)

Min*_*ael 51

我还建议改用nvm,并删除已安装的版本以避免终端冲突

sudo apt purge nodejs npm
Run Code Online (Sandbox Code Playgroud)

然后安装 nvm 并使用它

视频解说

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

下载并安装NVM

nvm install node
Run Code Online (Sandbox Code Playgroud)

应该下载并安装最新版本的节点。

稍后更新节点只需执行

nvm install node
nvm alias default node
Run Code Online (Sandbox Code Playgroud)

  • 这应该是唯一可接受的答案 - 如果您想在 Ubuntu 中拥有一个健全且最新的 Node 设置。 (9认同)
  • `nvm` 在每个用户的基础上安装 Node.js。使用 `nvm` 不会给你一个系统范围的 `node` 命令。所以我建议不要删除全局/系统`node`,这样以另一个用户身份运行的脚本仍然可以运行`node`。 (2认同)

小智 27

此 PPA 已过时且不再维护;您应该考虑其他答案而不是这个答案。

您可以从 PPA 安装最新版本:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)

  • 我认为如果您(也)提供了一种非 ppa 的方式来做到这一点,我认为这将是一个更好的答案,众所周知 ppa 会变得过时和无人维护,基本上使答案无用。 (16认同)
  • 不建议再使用这个 ppa,它似乎已经过时了。 (8认同)

小智 21

我使用 NVM 来处理我的 Node 版本。设置非常简单且易于使用。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Run Code Online (Sandbox Code Playgroud)

要全局安装 NVM,请使用以下 curl 命令而不是上面的命令(大概不要使用第二个命令,而是使用第三个命令)

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

然后使用nvm install stable(或插入版本号而不是stable)来获取 Node.js 的最新/特定版本。使用nvm use stable(或特定版本号)来使用该 Node 版本。使用nvm ls看你所安装的节点版本和nvm uninstall stable(或特定版本号)删除节点的特定版本。

来源: 安装使用

笔记

如果您npm因为卡在某个特定版本而难以更新到最新的稳定版本,npm并且每次更新它都不起作用,那么您也可以使用此方法进行更新npm。只要您安装了最新的稳定版本nodenpm就会自动更新到最新的稳定版本。


Cir*_*郝海东 10

NVM(节点版本管理器)与 --lts

NVM 在以下位置被提及:https : //askubuntu.com/a/441527/52975但这里有一个更完整的使用示例,包括健全的--lts版本,它安装最新的 Node 长期支持版本,这可能是您想要的如果您没有更具体的要求。

安装 NVM 和最新的 Node LTS 版本:

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version
Run Code Online (Sandbox Code Playgroud)

现在用一个虚拟包测试一下:

npm install --global vaca
vaca
Run Code Online (Sandbox Code Playgroud)

由于必须为每个新 shell 进行采购,因此安装脚本黑客会在.barshrc. 这有效,但我更喜欢删除自动添加的并添加我自己的:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi
Run Code Online (Sandbox Code Playgroud)

好处:

  • 允许您使用多个版本的 Node 而无需 sudo

  • 类似于 Ruby RVM 和 Python Virtualenv,在 Ruby 和 Python 社区中被广泛认为是最佳实践

  • 在可能的情况下下载一个预编译的二进制文件,如果没有,它会下载源代码并为您编译一个

我们可以通过以下方式轻松切换节点版本:

nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用 git 跟踪.nvmrc文件来指示给定项目所需的节点版本:https : //stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a-project/54503474#54503474

通过此设置,您将获得例如:

which node
Run Code Online (Sandbox Code Playgroud)

给出:

/home/ciro/.nvm/versions/node/v0.9.0/bin/node
Run Code Online (Sandbox Code Playgroud)

和:

which vaca
Run Code Online (Sandbox Code Playgroud)

给出:

/home/ciro/.nvm/versions/node/v0.9.0/bin/vaca
Run Code Online (Sandbox Code Playgroud)

如果我们想使用全局安装的模块:

npm link vaca
node -e 'console.log(require.resolve("vaca"))'
Run Code Online (Sandbox Code Playgroud)

给出:

/home/ciro/.nvm/versions/node/v0.9.0/lib/node_modules/vaca/index.js
Run Code Online (Sandbox Code Playgroud)

所以我们看到所有内容都完全包含在特定节点版本中。

在 Ubuntu 17.10 中测试。


Abh*_*mal 6

清洁简单的步骤(我使用的):

\n
    \n
  1. 卸载以前版本的节点 -
    \nsudo apt remove node && sudo apt autoremove

    \n
  2. \n
  3. 转至https://nodejs.org/en/并下载最新版本的\nnode。

    \n
  4. \n
  5. 现在打开终端并更改下载节点的目录\n然后运行-
    \ntar -xvf node-v12.16.2-linux-x64.tar.xz

    \n
  6. \n
  7. 现在在终端中运行它 -
    \nnano ~/.bashrc

    \n
  8. \n
  9. 并附加以下 \xe2\x80\x93
    \n export PATH=/path/to/node-js/bin:$PATH
    \n其中,\n /path/to/node-js/将替换为您在步骤 3 中提取节点的位置。`

    \n
  10. \n
  11. 运行最后一个命令source ~/.bashrc

    \n
  12. \n
\n

就是这样。
\n现在您可以通过以下方式检查您的节点版本node -v

\n