如何使用apt安装NodeJS 4?


Answers:


75

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

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

接着:

sudo apt-get install nodejs

这是系统版本:

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

@jarserver-“以下软件包具有未满足的依赖项:nodejs:依赖项:rlwrap但不可安装E:无法纠正问题,您拿着损坏的软件包。”-apt-get安装时出错。如何解决这个问题?
库玛·桑巴夫

@KumarSambhav听起来您的软件包数据库处于损坏状态,请在站点上搜索如何修复apt损坏状态。
Battlemidget

这对我在ubuntu 15.10上不起作用。它始终安装v0.10.25(比OP低的版本,所以我不知道发生了什么事情……)
HankScorpio

@HankScorpio听起来好像apt-repo没有更新。尝试遵循手动安装说明(github.com/nodesource/distributions#manual-installation),看看是否可以解决该问题。
jarsever '16

是的,这就是问题所在。一些GPG密钥(无论它们是什么)都丢失了,所以apt-get update每次都失败了。我曾经y-ppa-manager解决过这个问题,现在我拥有最新版本的
NodeJS4。– HankScorpio

37

节点版本管理器始终具有最新版本

我强烈认为,如果要在打算进行开发的计算机(而不是生产服务器)上安装Node,则在Node Ubuntu上安装Node是最好的选择。

当您通过官方存储库进行安装时,最终会发现某些东西已经过时了。您始终可以添加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

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

source ~/.nvm/nvm.sh

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

nvm install 4.0

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

nvm use 4.0

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

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


6
我认为混乱的权限注释不正确,我从nodesource apt repo安装了node,并且可以在本地主目录(包括-g全局选项)中运行和安装node模块。只需更新〜/ .npmrc即可定义前缀目录。
Battlemidget

3
啊,这很公平。对于版本管理方面,我仍然是nvm的支持者,但是如果那不是您的事,那么~/.npmrc肯定地设置前缀似乎是处理全局模块权限的正确方法。
Michael Martin-Smucker

我相信关于官方存储库的“过时”注释,答案有点...过时了;-)官方存储库现在支持受支持的发行火车上的任何公开发行版本-有版本6、7和甚至是8,并且至少从下面我的回答开始(10/15)
格斯

36

对于@jarsever的kudus,我个人不赞成“ curl | sh ”范例。

如果您遇到与我一样的不安,只是被要求将一些任意文本从互联网上传送到根帐户的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

我相信过程应该很清楚,您也可以通过Ubuntu的软件属性UI进行相同的操作。


这样做有什么缺点吗?似乎是最佳选择……
Catskul

6
它不止一行,可以让您了解您的系统吗?...我认为有些人不喜欢那是我解释这种curl|sh现象的唯一方法。
2015年

3
除了了解有关操作系统的程序包管理器之外,这也是一个安全问题。curl|sh从服务器中提取脚本,然后直接在外壳中执行。我个人相信nodesource,但这不是一个很好的习惯。unix.stackexchange.com/questions/46286/...
blanket_cat

并要求您将其插入sudo -E bash。它以root身份运行。我强烈建议您阅读并理解脚本,如果要将其从网络通过管道传输到根shell中。
毯子猫

1
一般而言,通过安装deb软件包,您承担的风险与将Internet传递到根外壳程序中时一样。话虽这么说,一个暗示您了解您的系统,另一个暗示您不了解-这是一个巨大的差异。
2015年


-1

这对我有用

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
curl https://www.npmjs.org/install.sh | sh

资料来源:https : //gist.github.com/isaacs/579814


1
问题特别是关于如何使用Apt安装NodeJS 。
大卫·佛斯特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.