Answers:
有一个可用于Node.js的安装脚本(请参阅安装说明):
# Adapt version number to the version you want
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs
一点评论:以我的拙见,这是一个非常糟糕的主意curl | sudo bash
。您正在运行未使用root特权检查的脚本。它总是更好的下载脚本,通读一遍,检查是否有恶意命令,之后该,运行它。但这只是我的两分钱。
sources.list
您可以从他们的网站下载最新版本的Node(4.2.2
),而不使用Debian提供的软件包(0.12
)。这也意味着您拥有npm的更新版本。我在Jessie上这样做没有任何问题。
.tar.gz
从他们的网站下载该cd
文件并进入该目录(文件名显然是我的下载文件所特有的):
$ tar -xzvf node-v4.2.2-linux-x64.tar.gz
$ cd node-v4.2.2-linux-x64
如果您查看bin文件夹,将看到node和npm所需的二进制文件:
$ ls node-v4.2.2-linux-x64/bin
node npm
现在,我将文件夹重命名为更易于跟踪的名称
$ mv node-v4.2.2-linux-x64 nodejs
如果您不希望使节点保持更新,则只需将该文件夹移动到您的bin位置之一(我使用~/bin
),然后跳过下一步。
如果您希望能够轻松更新节点版本,则将nodejs
文件夹移动到可以跟踪它的位置(~/nodejs
也许?)。然后,您想要创建一个到您的bin位置之一的符号链接,以便可以从您的shell中使用这些二进制文件,而无需写出完整路径。
假设将nodejs文件夹放在主目录中,现在可以执行以下操作:
$ ln -s ~/nodejs ~/bin/nodejs
显然,这可以转到您想要的任何bin位置。我使用了主目录,因此它仅对我可用,但是您也可以轻松地执行以下操作:
$ ln -s ~/nodejs /usr/local/bin/nodejs
这将创建一个符号连接从在的NodeJS你的主目录文件夹到bin目录(这意味着在你的主文件夹反映通过其他地方的文件夹到该目录中的任何更新符号链接)。现在,您要确保包含nodejs目录的bin文件夹在您的$PATH
环境变量中,因此请~/.profile
在您的主目录中打开该文件。您要将其添加到该文件的底部(如果未使用,则更改路径~/bin/
):
# Set the node PATH if it exists
if [ -d "$HOME/bin/nodejs/bin" ] ; then
PATH="$HOME/bin/nodejs/bin:$PATH"
fi
这将检查目录是否存在,如果存在,则将其添加到PATH中。我用过,zsh
所以我只更新了一行~/.zshrc
:
export PATH="$HOME/bin/nodejs/bin:$PATH"
关闭您的终端并重新打开,然后键入以下内容进行检查:
$ node -v
v4.2.2
$ npm -v
2.14.7
通过创建符号链接,现在意味着将来可以.tar.gz
从Node.js网站下载新~/nodejs
文件,并将其解压缩到,$PATH
环境变量中可用的二进制文件将自动更新。
就我而言,我执行了推荐的shell命令:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
问题是bash脚本没有更新我的APT固定,因此apt-get从debian.org源而不是从nodesource.com安装了默认的旧Debian软件包。
验证这是问题所在apt-cache policy nodejs
。你应该看到类似Candidate: 6.10.2-1nodesource1~jessie1
而不是Candidate: 0.10.29~dfsg-2
要将pin优先级设置为nodesource,请添加一个/etc/apt/preferences.d/
名为node
或具有以下内容的文件:
Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200
保存并运行apt-get cache update
。然后再试apt-cache policy nodejs
一次。如果候选人看起来正确,请照常安装apt-get install nodejs
apt-get cache update
回来E: Invalid operation cache
所以我跑了sudo aptitude update
。
您可以 按照官方的node.js文档进行操作,使用软件包管理器安装最新版本。
Node.js v6:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Node.js v7:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
运行后者,在我的系统上安装了节点v7.5.0和npm v4.1.2。无论node
和nodejs
别名是为节点自动启用。
您可以从官方网站下载最新的Linux Binaries(.tar.gz)并使用它 https://stackoverflow.com/a/23084499/1197421
setup_4.x
...重做卷曲和易于获取吗?