我注意到https://nodejs.org/该节点的网站当前版本为 v 0.12.0。
有人可以告诉我如何安装最新版本的 node 和 npm(请提供终端命令)吗?
答案1
全新安装
使用 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 -
然后安装 Node.js 包。
sudo apt-get install -y nodejs
PS:curl
必须在服务器上安装这些代码行的包。
升级
如果您已经nodejs
安装并想要更新,则请首先删除当前安装,然后使用上述脚本重新安装。
sudo apt-get purge nodejs npm
答案2
一般来说,将 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
以下是“帖子apt-key 的弃用方式”来做同样的事情:
curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_7.x $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/nodejs.list
sudo apt update
sudo apt install nodejs
这是最新的(撰写本文时)Nodejs 版本 7。只需简单更改 repo URL 即可获得其他版本 - 有关详细信息,请参阅 nodesource.com 文档。
答案3
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
答案4
NVM(节点版本管理器)
https://github.com/creationix/nvm
NVM 为您安装最新的稳定节点和 npm
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version
现在用虚拟包进行测试:
npm install --global vaca
vaca
由于必须为每个新 shell 执行采购,因此安装脚本 hack 会在 末尾添加一些自动采购.barshrc
。这可行,但我更喜欢删除自动添加的采购,然后添加我自己的采购:
f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
. "$f" &>'/dev/null'
nvm use --lts &>'/dev/null'
fi
优点:
允许你使用多个版本的 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
然后,您可以使用 git 跟踪.nvmrc
文件来指示给定项目所需的节点版本:https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for-a-project/54503474#54503474
通过此设置,您可以获得例如:
which node
给出:
/home/ciro/.nvm/versions/node/v0.9.0/bin/node
和:
which vaca
给出:
/home/ciro/.nvm/versions/node/v0.9.0/bin/vaca
如果我们想使用全局安装的模块:
npm link vaca
node -e 'console.log(require.resolve("vaca"))'
给出:
/home/ciro/.nvm/versions/node/v0.9.0/lib/node_modules/vaca/index.js
- https://stackoverflow.com/questions/15636367/nodejs-require-a-global-module-package
- https://stackoverflow.com/questions/7970793/how-do-i-import-global-modules-in-node-i-get-error-cannot-find-module-module
所以我们看到所有内容都完全包含在特定的节点版本中。
在 Ubuntu 17.10 中测试。