我已经找到了许多有关Node.js的安装说明,但它们似乎都非常复杂-我不是超级系统管理员,但我可以解决。我在系统上非常好,但是我没有找到任何node.js包,而且我不确定如何在服务器上编译代码或将代码放在哪里。

评论

感谢大家的精彩回答。我相信您现在可以同时安装nodejs和npm了!很棒

dl.fedoraproject.org/pub/epel/6/x86_64/repoview/nodejs.html

...使用EPEL(如果还没有回购协议,请安装说明:rackspace.com/knowledge_center/article / ...)。

我认为EPEL的东西不再有效-或在Centos 7中不起作用。

#1 楼

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。如有必要,可以修改“配置”文件以指向第1行中的python2.7

要创建RPM包,可以使用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

评论


但这就是假设我已经安装正确吗?我没有什么身份证?

–qodeninja
2011年8月9日在16:59

我需要包括yum install gcc-c ++

– Yeehosef
2012年6月3日在16:23

尽管从技术上讲这是正确的,但是对于任何类型的可维护性或可重复性,强烈建议通过RPM(或发行版的任何包装)来管理软件包,而不是从需要的每台机器上手动构建和安装源代码。下面的许多答案都链接到预构建的软件包。

–杰森·安特曼(Jason Antman)
2012年8月29日19:35

现在尝试通过RPM管理Node.JS及其任何生态系统都是徒劳的,我说这是短暂运行包含Node和许多模块包的yum存储库的人。

– jgoldschrafe
2012年10月25日上午11:24

@IsaacRabinovitch他们添加了一个三进制if,直到Python 2.5才出现。由于CentOS遵循将系统Python固定到某些自定义补丁程序版本2.4的RHEL路径,因此我的解决方案是yum安装python26 python26-devel,然后执行python26 configure而不是./configure。然后,由于Makefile也执行Python脚本,因此我在其中将PYTHON变量定义为python26而不是python。另外,您将在那里需要g ++,因此,如果还没有,则应安装gcc-++。

–汉克·盖伊
13年8月8日在16:13

#2 楼

如果您具有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。

评论


这在我的CentOS 6.4系统上可以很好地工作,并为我提供了node和npm。我得到的节点是0.10.13,与最新的src压缩包0.10.15差不多。似乎这需要更多的努力才能脱颖而出,因为它胜过“从源代码安装”选项。

–́Neek
13年8月7日在8:53

请按照此步骤安装EPEL存储库。

–李志坚
2014年8月15日下午6:25

要更新启用epel存储库,请运行yum install -y epel-release,然后可以使用yum安装node和npm。

–svassr
2015年12月11日的15:00

我无法在v4.2.x的yum上使用epel或epel-release。下面的nave.sh回答效果很好。

– jcollum
16年1月9日在20:10



通过yum安装为我提供了一个非常旧的版本v0.10.42 ...如何通过yum / rpm安装Node以获取最新版本(当前为5.9.0)?

– dokaspar
16 Mar 18 '16在8:34

#3 楼

要点“通过软件包管理器安装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结构匹配的URL。对于0.11.0,我将nave.sh更改为具有以下URL

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

评论


nodejs.tchol.org现在死了

–explunit
13年2月15日在17:54

@explunit我只是更新答案。请尝试中堂。

–user974312
13年2月26日在15:14

仅供参考:这似乎仅为此用户安装。如果要为整个系统安装它:./nave.sh usemain <您的版本>

–awl
13年4月23日在20:23

“ nodejs成为标准存储库的一部分” –在CentOS 7上,它已经过时了。安装的版本是v10.x(在IT部门始终使用的CentOS上)。

– jcollum
16年1月9日在20:12

#4 楼

对于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


评论


除非您打算为节点项目做贡献,否则您应该使用发行版而不是github版本。

– B T
2013年9月27日23:33

#5 楼

[编辑]谢谢大卫,在下面的评论中指出nodejs.tchol.org网站现在指向垃圾邮件站点(原文如此!)。因此,此答案不再起作用,请不要使用它! br />
我可以确认Chris在其解决方案中解释的方法在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:当然,您必须是root用户(或使用sudo)才能进行安装。.

除了从源代码安装(始终是一种选择)之外,也许还有其他选择:在这里读到“ node.js自2012年12月起已被Fedora Rawhide接受,并将在Fedora 18中提供。”因此,也许最终它将进入标准的CentOS存储库。

我将拥有一个看这个..

评论


这在CentOS 6上效果很好。谢谢!

–凯尔·法里斯(KyleFarris)
2012年7月2日在20:52

“ nodejs.tchol.org”现在死了

– David Newcomb
2012-12-10 12:54

因此,您应该只从源代码安装。不要害怕

–约翰·亨特
13年1月3日,9:27

@JohnHunt从源代码安装意味着您无法再彻底卸载。我在Ruby中也遇到了同样的问题。幸运的是,我可以回滚VM映像...从源代码进行安装意味着您需要对要安装的软件包有深入的了解。考虑到有成千上万的linux软件包,这不是一个选择!

–基督徒
13年1月24日在8:41

“上面的链接”?答案是按投票排序的,而克里斯的答案现在低于您。

–艾萨克·拉比诺维奇(Isaac Rabinovitch)
13年3月9日在6:07

#6 楼

如上所述,“ tchol.org”不见了,使CentOS的人们开始放弃使用软件包管理器,或者转向另一个操作系统。我与自己缔结了一项协议,反对在实验/开发人员之外的所有人员(同样)上做每件事。

幸运的是,仍然可以在以下位置获得rpm:
http://patches.fedorapeople .org / oldnode / stable / el6 / x86_64 /

只需忽略repo-installer的rpm,它将yum定向到已失效的站点。
那应该给我们一些时间,除非/,直到它们变得过时为止。

我会睁大眼睛寻找更新的存储库,如果发现它们,请回发。

评论


我想说您链接中的0.6版本已经过时了。目前看来RHEL / CentOS确实没有很好的选择,考虑到Red Hat本身提供了node.js PaaS,这很奇怪。

–explunit
13年2月16日在14:12

#7 楼

这在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


评论


我必须在CentOS 5.10上使用python 2.6,因为python 2.7不在仓库中。

– ohho
2014年2月25日下午4:03

#8 楼

我在其他任何答案中都没有列出另一种方法,那就是使用从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  }')
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上,我必须添加以下链接,以便该节点和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上的js相当糟糕,因为回购中都不包含node.js(请参见此处的相关问题)。此答案与前面提到的从源代码进行编译的缺点相同。

#9 楼

上面的答案已经过时了

AS ROOT

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


您已完成。

使用<验证安装br />
node -v


评论


我的curl版本似乎不喜欢该URL的SSL证书的签名授权,因此该脚本会自动失败。您可以使用curl -k选项来克服它。

–秒杀威廉姆斯
2015年1月23日在19:14



另外,将-k添加到上面的curl命令之后,您还需要在下载的“安装”脚本中更新对来自该域的curl下载的引用。然后使用bash手动运行该脚本。

–秒杀威廉姆斯
15年1月23日在19:22

#10 楼

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

甚至对构建节点发布文件树和自定义rpm包而无需编写太多脚本也很有用,latest-nodewget./configuremakemake install等等等等。

nvm install 0.10.9


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

评论


是否有离线安装?

–申请肉饼
15年7月16日在15:30

#11 楼

以root身份在RHEL,CentOS或Fedora上以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 -


然后以根用户身份安装:

yum -y install nodejs


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

评论


唯一适用于CentOS 7.2的答案。并且工作如此迅速和完美。

–writeToBhuwan
16-10-2在20:30

建议:访问GitHub上的NVM项目,并从README获取明确的说明:github.com/creationix/nvm#installation

–凯V
18年7月18日在4:23

#12 楼

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

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

您将从源代码编译此文件,因此您需要确保拥有在系统(gcc和朋友)上执行此操作所需的所有必要软件包。这组说明是用于构建RPM的,因此,如果您缺少任何必需的软件包,rpmbuild将使您知道首先需要安装哪些软件包。

评论


欢迎来到服务器故障!尽管从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。

–user9517
2011年11月14日在16:20



另外,该链接指向/ usr / src / redhat,它在我的CentOS 5安装中似乎不存在(如果我正确理解的话,它位于/ usr / local / src)。

–加藤
2011年11月17日在20:11

最近的更改还需要人们更新其Python安装(或配置将在仍使用Python 2.4的任何CentOS服务器上不起作用)。考虑更新信息并将其放在此处吗?

– Tim Post
2012年10月3日23:43

#13 楼

您还需要npm

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


评论


艾米,更多的是它带有节点。

– ThomasReggi
2012年12月28日在20:15

#14 楼

您可以使用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

#15 楼

对于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


评论


问题是针对CentOS的

– jcollum
16年1月9日,下午1:33

#16 楼

这是我的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


#17 楼

对于版本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/以找到最新版本的下载链接。

评论


这使我免于在运行Plesk的CentOS服务器上-由于gcc已过时,因此无法从源代码构建最新版本(5)。我会更新gcc,但通常通过yum手动更新任何内容,都会使Plesk变成一个尖叫的孩子。

–twistedpixel
15年11月19日在18:41

4.x稳定版有焦油吗?如果它在几个版本更改后仍然存在,答案会更好。

– jcollum
16年1月9日,下午1:34

我编辑了答案,以包含指向最新发行版文件夹的链接,您可以在其中找到特定于发行版的安装。

–埃文·西洛基(Evan Siroky)
16年1月9日在16:16

#18 楼

下面的代码在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不再在线了。

评论


它曾经工作。那台机器看起来已经不存在了。

–rox0r
13年1月28日在2:06

#19 楼

不久前,我亲自完成了在RHEL 5.8上进行此安装的任务。不幸的是,随着nodejs.tchol.org脱机,唯一的选择就是从源代码进行构建。

但是,构建过程变得相当复杂,因为构建脚本所涉及的Python代码没有在RHEL上使用默认版本的Python。经过大量的试验和错误(和大量的谷歌搜索),我发现了这篇博客文章,基本上描述了逐步执行以下所需任务的步骤。

a。安装Python 2.6
b。将那个版本的python设置为替代版本,然后将其设置为default
c。配置并安装node.js
d。将Python切换回默认的2.4版本。

关键是您之后应切换回Python 2.4。否则,诸如yum之类的简单操作将失败。

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

#20 楼

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

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

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检查已安装的版本