如何在CentOS上安装Node.JS?

我已经find了许多Node.js的安装说明,但它们都显得如此复杂 – 我不是一个超级系统pipe理员,但我可以解决。 我有系统上的yum,但我没有find任何node.js包,我不知道如何编译代码在服务器上或放在哪里。

su - yum install gcc-c++ openssl-devel cd /usr/local/src wget http://nodejs.org/dist/node-latest.tar.gz tar zxvf node-latest.tar.gz (cd into extracted folder: ex "cd node-v0.10.3") ./configure make make install 

请注意,这需要Python 2.6+才能使用上面的./configure 如果需要的话,可以修改“configure”文件来指向第1行的python2.7

要创buildRPM包,可以使用FPM :

 # wget http://nodejs.org/dist/node-latest.tar.gz # tar zxvf node-latest.tar.gz (cd into extracted folder: ex "cd node-v0.10.3") # ./configure --prefix=/usr/ # make # mkdir /tmp/nodejs # make install DESTDIR=/tmp/nodejs/ # tree -L 3 /tmp/nodejs/ /tmp/nodejs/ └── usr ├── bin │  ├── node │  ├── node-waf │  └── npm -> ../lib/node_modules/npm/bin/npm-cli.js ├── include │  └── node ├── lib │  ├── dtrace │  ├── node │  └── node_modules └── share └── man 

现在制作nodejs包:

 # fpm -s dir -t rpm -n nodejs -v 0.8.18 -C /tmp/nodejs/ usr/bin usr/lib 

然后安装并检查版本:

 # rpm -ivh nodejs-0.8.18-1.x86_64.rpm Preparing... ########################################### [100%] 1:nodejs ########################################### [100%] # /usr/bin/node --version v0.8.18 

来源: https : //github.com/jordansissel/fpm/wiki/PackageMakeInstall

如果你有CentOS 6.x,并启用了EPEL库 ,你可以使用yum来安装node / npm:

 $ sudo yum install npm 

安装完成后,请检查以确保节点安装正确:

 $ node -v 

(应该返回类似v0.10.36 )。

如果您想要更高版本的Node.js(例如4.x,5.x等),则可以使用Nodesource yum存储库而不是EPEL。

要点“通过包pipe理器安装Node.js”不包含在CentOS上安装nodejs的指示。 自Fedora 18以来,nodejs成为标准回购的一部分。 我尝试“epel-fedora-nodejs”回购,并发现它不再更新,离开版本在0.6.0过时。

好消息是,我们拥有一个虚拟环境节点来帮助我们。

https://github.com/isaacs/nave

现在安装nodejs非常简单。

 $ wget https://raw.github.com/isaacs/nave/master/nave.sh $ chmod +x nave.sh $ ./nave.sh install 0.8.8 $ ./nave.sh use 0.8.8 $ node -v v0.8.8 

在nave.sh文件中,您可能必须将本地url更改为与nodejs的最新dist结构匹配。 对于0.11.0,我更改了nave.sh以具有以下URL

http://nodejs.org/dist/v $ version / node-v $ version-linux-x64.tar.gz”

对于CentOS

 yum install gcc-c++ make git cd /usr/local/src/ git clone git://github.com/joyent/node.git cd node ./configure make make install 

[编辑]感谢大卫在下面的评论中指出, nodejs.tchol.org网站现在指向一个垃圾邮件网站(原文如此!)所以这个答案不再工作,不要使用它!

我可以证实,克里斯在他的解决scheme中解释的方法在CentOS 5.4中工作(我已经做了一分钟前:))

 wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm yum install nodejs-compat-symlinks npm 

PS:当然,你必须是根(或使用sudo)才能安装。

除了从源代码安装(这总是一个选项),也许还有一个替代scheme: 在这里我读了 “截至2012年12月,node.js已被Fedora Rawhide接受,并将在Fedora 18中提供。 ,所以也许它最终会进入标准的CentOS仓库

我会看看这个..

如上所述,“tchol.org”已经不存在了,让CentOS人员放弃使用软件包pipe理器或者切换到另一个操作系统。 我同我自己做了一个协议,反对所有除了实验/开发盒以外的每一个做前者。

幸运的是,有些rpms仍然可以在http://patches.fedorapeople.org/oldnode/stable/el6/x86_64/

只要忽略repo-installer的rpm,它就会把yum指向已经不存在的站点。 这应该给我们一点时间,除非它们过于陈旧。

我会睁大眼睛来寻找更新的回购,如果我find它们,请回复。

这在CentOS 5.7上适用于我:

 yum install openssl-devel yum install python27 yum install gcc-c++ cd /usr/local/src wget http://nodejs.org/dist/node-latest.tar.gz tar zxvf node-latest.tar.gz cd node-v[tab] python2.7 configure make PYTHON=python2.7 make install 

还有一种方法我没有看到在其他任何答案中列出,那就是使用自0.8.6以来发布的 Linux二进制发行版

这是我使用的脚本:

 # get the latest stable binary latest_node=$(curl http://nodejs.org/dist/latest/SHASUMS.txt | grep 'linux-x64.tar.gz' | awk '{ print $2 }') wget -O ~/nodestable.tar.gz http://nodejs.org/dist/latest/$latest_node cd /usr/local/ sudo tar xzvf ~/nodestable.tar.gz --strip=1 

或者,如果你想要一个特定的版本(例如留在0.8系列):

 wget http://nodejs.org/dist/v0.8.22/node-v0.8.22-linux-x64.tar.gz cd /usr/local/ sudo tar xzvf ~/node-v0.8.22-linux-x64.tar.gz --strip=1 

对于CentOS 6.3,我必须添加下面的链接,以使node和npm命令可以从普通用户或sudo中运行。 根据您的版本可能不需要。

 sudo ln -s /usr/local/bin/node /usr/bin/node sudo ln -s /usr/local/lib/node /usr/lib/node sudo ln -s /usr/local/bin/npm /usr/bin/npm sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf 

坦率地说,CentOS / RHEL上node.js的情况相当糟糕,因为没有一个版本包含node.js(请参阅相关问题 )。 这个答案与前面提到的源代码编译有相同​​的缺点。

上面的答案已经过时了

作为根

 curl -sL https://rpm.nodesource.com/setup | bash - yum install -y nodejs 

你完成了。

validation您的安装

 node -v 

没有人提到nvm安全和轻松地处理(多个)节点安装https://github.com/creationix/nvm ? 我觉得它非常有用。

即使有用的构build一个节点发布文件树,所以自定义的rpm包没有脚本太多, latest-nodewget./configuremakemake install等等等等。

 nvm install 0.10.9 

将根据发行版下载二进制文件或编译源代码。

在RHEL,CentOS或Fedora上以root用户身份运行Node.js v4 LTS Argon:

 curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - 

另外对于Node.js v5:

 curl --silent --location https://rpm.nodesource.com/setup_5.x | bash - 

另外对于Node.js 0.10:

 curl --silent --location https://rpm.nodesource.com/setup | bash - 

然后以root身份安装:

 yum -y install nodejs 

来源: https : //nodejs.org/en/download/package-manager/

我有一些非常简单的说明,以及.spec文件在这里:

http://www.chrisabernethy.com/installing-node-js-on-centos-redhat/

你将从源代码编译,所以你将需要确保你有你的系统(gcc和朋友)所需的所有必要的软件包。 这套指令是build立一个RPM,所以如果你缺less任何必需的软件包,rpmbuild会让你知道你需要先安装哪些软件包。

你也需要npm

 git clone https://github.com/isaacs/npm.git cd npm sudo make install 

你可以使用nodebrew 。 $ curl -L git.io/nodebrew | perl - setup $ export PATH=$HOME/.nodebrew/current/bin:$PATH $ source ~/.bashrc $ nodebrew install-binary latest $ nodebrew use latest $ node -v

对于Ubuntu,这对我0.4.10版本的工作

 cd /usr/local/src/ sudo wget http://nodejs.org/dist/node-v0.4.10.tar.gz sudo tar zxvf node-v0.4.10.tar.gz cd node-v0.4.10/ sudo ./configure sudo make sudo make install 

这里是我的Dockerfile,它在centOS 7中安装了节点v0.10.36

 FROM centos:7 RUN yum -y update RUN yum -y install vi, vim, unzip, tar RUN yum -y install wget, curl, git RUN yum -y install epel-release RUN yum -y install npm 

我的答案为4+版本:

 yum -y install wget wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-x64.tar.gz tar xzf node-v4.0.0-linux-x64.tar.gz -C /usr/local rm -rf node-v4.0.0-linux-x64.tar.gz mv /usr/local/node-v4.0.0-linux-x64 /usr/local/node ln -s /usr/local/node/bin/node /usr/bin/node ln -s /usr/local/node/bin/npm /usr/bin/npm 

检查文件夹https://nodejs.org/dist/latest/以查找最新版本的下载链接。

下面的代码在CentOS 6上工作得很好

 wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm yum localinstall --nogpgcheck nodejs-stable-release.noarch.rpm yum install nodejs-compat-symlinks npm 

它不工作了, http://nodejs.tchol.org不在线了。

在不久之前,我就通过RHEL 5.8自己完成这个安装的任务。 不幸的是,使用nodejs.tchol.org进行离线时,唯一的select是从源代码构build它。

然而,构build过程变得相当复杂,因为构build脚本涉及的Python代码不能在RHEL上使用默认版本的Python。 经过大量的反复试验(还有大量的谷歌search),我发现这个博客文章基本上描述了一个步骤来进行所需的以下任务。

一个。 安装Python 2.6 b。 将该版本的python设置为备用版本,然后将其设置为默认值c。 configuration和安装node.js d。 将Python切换回默认的2.4版本。

关键是之后你应该切换回Python 2.4。 否则,简单的事情,如百胜将失败。

http://www.robeesworld.com/blog/31/installing_node_js_0_8_under_centos_5_8

安装使用评分最高的答案后,我无法安装任何全局模块(-g)没有Sudo权限。 NPM更新显示错误。 下面的方法对我来说是完美的,不需要SU或SUDO权限。

我使用下面的方法( https://gist.github.com/isaacs/579814 )安装了Node.js和NPM,但是根据deesejohn在该页面发表的评论的build议修改了两行命令。

 cd sudo yum install gcc-c++ 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=$HOME/local make install curl -L https://www.npmjs.org/install.sh | sh 

使用node -vnpm -v检查安装的版本