如何使用 apt 安装 NodeJS 4?

Kum*_*hav 61 apt nodejs software-installation

如何使用实用程序在 Ubuntu 上安装NodeJS 4apt-get

jar*_*ver 75

说明取自此处:https : //github.com/nodesource/distributions

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -
Run Code Online (Sandbox Code Playgroud)

进而:

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

以下是系统版本:

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2
Run Code Online (Sandbox Code Playgroud)


Mic*_*ker 37

节点版本管理器总是有最新的

我强烈认为,如果您要将Node安装在打算进行开发的计算机上(而不是生产服务器),那么在 Ubuntu 上安装 Node 和 Node Version Manager是最佳选择。

当您通过官方存储库安装时,您最终会得到一些非常过时的东西。您始终可以添加 PPA,但最终仍会获得凌乱的权限,其中从 npm 全局安装模块需要管理员权限。

使用 NVM,所有内容都保存在您的主文件夹中(因此不需要sudo),您可以安装多个版本的 Node(包括 4.0)并在它们之间轻松切换。

使用 NVM 安装

取自NVM 安装说明

获取 NVM 的最新副本(您可能需要sudo apt-get install curl先):

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

告诉您的 shell 使用nvm(您可能希望将其添加到~/.bashrc以便将来自动发生):

source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)

然后安装最新的节点版本:

nvm install 4.0
Run Code Online (Sandbox Code Playgroud)

并告诉 nvm 您要使用哪个版本的 Node:

nvm use 4.0
Run Code Online (Sandbox Code Playgroud)

您可能还想将该nvm use 4.0行添加到您的~/.bashrc,这样您就不必每次启动终端时都选择节点版本。

现在,如果您检查which node它应该为您提供主文件夹中节点可执行文件的路径。跑步node --version应该告诉你你正在跑步v4.0.0

  • 我不认为凌乱的权限评论是准确的,我从 nodesource apt repo 安装节点,并且可以在我的本地主目录中运行和安装节点模块(包括 -g 全局选项)。只需要更新 ~/.npmrc 来定义你的前缀目录。 (6认同)
  • 啊,这是一个非常公平的观点。在版本管理方面,我仍然是 nvm 的粉丝,但如果这不是你的事,在 `~/.npmrc` 中设置前缀似乎是处理全局模块权限的正确方法。 (3认同)

Gus*_*uss 35

对@jarsever 表示赞赏,我个人不订阅“ curl|sh ”范式。

如果您在被要求将一些任意文本从互联网上通过管道传输到 root 帐户的 shell 进程时,感到同样的不安,那么您可能想尝试此操作以获得相同的效果,但(稍微)减少恐惧和不确定性并怀疑:

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs
Run Code Online (Sandbox Code Playgroud)

我相信这个过程应该很清楚,你也可以通过 Ubuntu 的软件属性 UI 来做同样的事情。

  • 它不止一行,并且可以让您了解您的系统?...有些人不喜欢那样,我想,这是我可以解释`curl|sh` 现象的唯一方法。 (6认同)
  • 除了了解操作系统的包管理器之外,这也是一个安全问题。`curl|sh` 从服务器拉取一个脚本,并直接在 shell 中执行它。我个人信任 nodesource,但这不是一个好习惯。http://unix.stackexchange.com/questions/46286/read-and-confirm-shell-script-before-piping-from-curl-to-sh-curl-s-url-sh (3认同)