如何安装最新版本的 NodeJS 和 NPM?

ton*_*nyf 220 nodejs npm software-installation

我在https://nodejs.org/网站上注意到该节点当前处于 v 0.12.0。

有人可以让我知道如何将最新版本的 node 与 npm 一起安装吗(请使用终端命令)?

23W*_*23W 268

全新安装

使用 NodeSource PPA。有关详细信息,请参阅安装说明。首先,选择您需要的 Node.js 版本并为其添加源:

v=8   # set to 4, 5, 6, ... as needed
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -
Run Code Online (Sandbox Code Playgroud)

然后安装 Node.js 包。

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

PS:curl必须在服务器上为这些代码行安装包。

升级

如果您nodejs已经安装并想要更新,那么首先删除当前安装并使用上面的脚本重新安装它。

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

  • 卷入根壳在很多方面都是错误的。 (48认同)
  • 对我不起作用。运行 `curl -sL https://deb.nodesource.com/setup_0.12 | 后 sudo bash -` 然后安装 `nodejs` 我最终得到了 `v0.10` (11认同)
  • Guss 下面的回答应该是公认的答案。这不是推荐的方法。 (8认同)
  • @AlexanderMills 下面提供的答案 (https://askubuntu.com/a/711976/389358) 将为您提供来自 NodeSource 的最新版本的 nodejs——这个包也包括最新版本的 npm。 (2认同)
  • 从一些可能被黑客入侵的网站下载一个 bash 脚本并使用 root 权限运行它对我来说有点刺激 (2认同)

Gus*_*uss 172

一般来说,将 URL 中的任意数据加载到 root shell 会话中并不是一个好主意,我希望人们不要再兜售它作为解决所有问题的方法——“请运行我发送给你的这个脚本,同时我们也”重新开始 - 我有一个你可能有兴趣购买的桥梁”。

作为替代方案,这里是执行相同操作的“Ubuntu 方式”,您可以在其中查看系统是如何更新的,并知道哪些存储库和哪些密钥已添加到您的系统配置中:

curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)

这是最新的(在撰写本文时)Nodejs 版本 7。其他版本也可以通过对 repo URL 的简单更改来获得 - 有关详细信息,请参阅 nodesource.com 文档。

  • 该脚本自己添加了 repo,并且还做天知道是什么。现在可能是完全良性的,但谁知道 DNS 劫持者或网站开发者将来会做什么?添加 repo 与运行 Internet 脚本不同,因为它本身不会下载任何可执行代码或运行它 - 它只会响应特定的 apt-get 安装,这将验证包是否已签名使用 nodesource 密钥 - 希望它比 nodesource 域或网站更安全。APT 安全性非常好,并且拥有良好的记录。 (19认同)
  • 我完全同意你的说法,但不是向 apt 添加新存储库,与运行一些未知脚本相同吗?(虽然我理解这里所有其他答案中的脚本,但实际上是自己添加该回购) (3认同)
  • @PaulDraper:问问nodesource,他们是卖不属于他们的桥梁的人。我的“apt-get”解决方案是直接的。 (2认同)

小智 36

Node.js v4.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)

来源:https : //github.com/nodesource/distributions#debinstall

  • 卷入根壳在很多方面都是错误的。 (13认同)

ser*_*inc 27

如果要更新 inside npm,可以使用以下n命令:

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

这将安装 n 包,您可以使用它来切换 NodeJS-Versions 并使用它。与替代 NVM 和命令选项的比较在SO 处。还有一篇博文


Cir*_*郝海东 10

NVM(节点版本管理器)

https://github.com/creationix/nvm

NVM 为您安装最新的稳定节点和 npm

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 中测试。


小智 8

curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
# Then install with:
sudo apt-get install -y nodejs
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到更多信息:Node.js v0.12、io.js 和 NodeSource Linux 存储库


Sil*_*tor 8

要安装 NPM,

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

然后对于节点,

sudo npm cache clean -f
sudo npm install -g n
sudo n 0.xx.x  // here is the version what you want.. 
Run Code Online (Sandbox Code Playgroud)

此命令将根据您想要的版本安装节点。


Guy*_*oft 7

对于版本 5.x根据 PPA

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