我已经找到了许多有关Node.js的安装说明,但它们似乎都非常复杂-我不是超级系统管理员,但我可以解决。我在系统上非常好,但是我没有找到任何node.js包,而且我不确定如何在服务器上编译代码或将代码放在哪里。
我已经找到了许多有关Node.js的安装说明,但它们似乎都非常复杂-我不是超级系统管理员,但我可以解决。我在系统上非常好,但是我没有找到任何node.js包,而且我不确定如何在服务器上编译代码或将代码放在哪里。
Answers:
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
请注意,这需要./configure
上面使用Python 2.6+ 。python2.7
如有必要,您可以修改“配置”文件以指向第1行。
要创建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
if
,直到Python 2.5才出现。由于CentOS遵循将系统Python固定到一些自定义补丁的2.4版本的RHEL路径,因此我的解决方案是先yum install python26 python26-devel
执行然后执行python26 configure
而不是./configure
。然后,由于Makefile
还执行Python脚本,因此我PYTHON
在其中定义了变量,python26
而不是python
。另外,您将需要g++
在那里,因此,如果还没有,则应该yum install gcc-++
。
如果您具有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。
yum install -y epel-release
,则可以使用yum安装node和npm。
要点“通过软件包管理器安装Node.js”不再包含在CentOS上安装nodejs的说明。从Fedora 18开始,nodejs成为标准存储库的一部分。我尝试使用“ epel-fedora-nodejs”存储库,发现它不再更新,版本保持在过时的0.6.0。
好消息是,我们有nave(Node虚拟环境)可以为我们提供帮助。
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”
[编辑]谢谢David在下面的评论中指出nodejs.tchol.org网站现在指向垃圾邮件站点(原文如此!)。.因此,此答案不再起作用,请不要使用它!
我可以确认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)才能安装。
除了从源代码安装(这始终是一个选择)之外,也许还有另外一种选择: 在这里,我读到 “从2012年12月起,node.js已被Fedora Rawhide接受,并将在Fedora 18中可用。” ,所以也许最终它会进入标准的CentOS存储库
我来看看。
如上所述,“ tchol.org”不见了,使CentOS的人们开始放弃使用软件包管理器,或者转向另一个操作系统。我与我自己缔结了一项协议,反对(实验性的)除实验性/开发性方面的所有工作。
幸运的是,仍然可以在以下位置找到rpm:http: //patches.fedorapeople.org/oldnode/stable/el6/x86_64/
只需忽略repo-installer的rpm,它将yum定向到已失效的站点。除非/直到它们变得过时,否则这应该给我们腾出一些时间。
我会睁大眼睛寻找更新的存储库,如果找到它们,请回发。
这在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(请参见此处的相关问题)。这个答案与前面提到的从源代码进行编译的缺点相同。
没有人提到nvm
可以安全轻松地处理(多个)Node安装https://github.com/creationix/nvm吗?我觉得它很有用。
即使是有用的,以构建节点发布的文件树等定制的rpm包没有脚本太多,latest-node
,wget
,./configure
,make
,make install
等等等等。
nvm install 0.10.9
将根据版本下载二进制文件或编译源代码。
对于Node.js v4 LTS Argon,在RHEL,CentOS或Fedora上以root身份运行:
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
我有一些非常简单的说明,以及.spec文件在这里:
http://www.chrisabernethy.com/installing-node-js-on-centos-redhat/
您将从源代码编译此文件,因此您需要确保拥有在系统(gcc和朋友)上执行此操作所需的所有必要软件包。这组说明是用于构建RPM的,因此,如果您缺少任何必需的软件包,rpmbuild将使您知道首先需要安装哪些软件包。
您还需要npm
git clone https://github.com/isaacs/npm.git
cd npm
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脱机,唯一的选择是从源代码构建它。
但是,构建过程变得相当复杂,因为构建脚本涉及python代码,这些代码无法与RHEL上的默认版本的Python一起使用。经过大量的试验和错误(以及大量的谷歌搜索),我发现了这篇博客文章,基本上描述了逐步执行以下所需任务的步骤。
一种。安装Python 2.6 b。将该版本的python设置为备用版本,然后将其设置为默认版本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
使用最高评价的答案进行安装后,如果没有Sudo权限,我将无法安装任何全局模块(-g)。NPM更新显示错误。下面的方法对我来说是完美的,不需要SU或SUDO权限。
我使用以下(https://gist.github.com/isaacs/579814)中的以下方法安装了Node.js和NPM,但根据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 -v
和检查安装的版本npm -v