在CentOS 5服务器上安装Nodejs时出错 – 没有模块bz2

我试图在我的CentOS 5服务器上安装NodeJS

我安装了Python 2.6,并且得到了./configure工作,但是当我运行make命令时,我得到了这个结果

 [root@catch24dev node-v0.8.6]# make make -C out BUILDTYPE=Release V=1 .... Traceback (most recent call last): File "../../tools/js2c.py", line 36, in <module> import bz2 ImportError: No module named bz2 make[1]: *** [/usr/local/src/node-v0.8.6/out/Release/obj/gen/libraries.cc] Error 1 make[1]: Leaving directory `/usr/local/src/node-v0.8.6/out' make: *** [node] Error 2 [root@catch24dev node-v0.8.6]# which bzip2 /usr/local/bin/bzip2 

当我在Centos 6.4上运行make时,我也得到了和Marius Milliunas一样的错误 – 那是在nodejs目录中运行./configure命令,我已经从下载的nodejs tarball中提取。 就像马吕斯·米利亚那斯所做的一样。

问题的根源在于nodejs安装依赖于正在安装的Python。 具体来说,Centos 6.4的默认Python安装不包括bz2模块和纠正措施,当然,从安装bz2模块开始。 这是通过运行完成的

 yum install bzip2-devel 

我也跑了很好的措施

 yum install bzip2 

内置的Python for Centos 6.4是Python 2.6.6,但是这对于安装最新版本的nodejs来说是很好的,在编写本文时,它是节点v0.10.26

一旦你运行了yum install bzip2-devel ,你可以回去在nodejs目录下运行make ,这次make会运行完成。 按照在nodejs目录中设置的指示信息运行make install进行跟踪。

您可以通过运行节点并获取提示来testing您的nodejs安装。 我select了通过creatindtesting一个基于nodejs的web服务器,如http://code.tutsplus.com/tutorials/real-time-chat-with-nodejs-socketio-and-expressjs–net-31708

我知道世界上所有的人都很酷,而且我遵循这个指令,在Centos 6.4上正确安装了nodejs

 The server is running, so you should be able to open http://127.0.0.1:3700/ and see: It works! 

并得到了“It works”输出,如预期:)

重要的提示

如果您在Centos 6.4机器上另外安装Python 2.7.6和Python 3.3.4,请按照此链接上的说明进行操作: https : //www.digitalocean.com/community/articles/how-to-set-up-python -2-7-6和-3-3-3-上的CentOS-6-4

安装Python 2.7.6和Python 3.3纯粹是可选的。 请注意,安装Python 2.7.6和Python 3.3.4的最后一步是

 make altinstall 

不是 “make install”我错误地运行了“make install”,并破坏了我对Python 2.6.6系统Python的访问,以及我对yum的访问。 事实上,我猜测我摧毁了我对CentOS 6.4上所有依赖访问系统Python的程序的访问权限。 如果在那个时候我已经成功安装了nodejs,那么我也将销毁我对nodejs的访问权限。 我必须销毁并重新创build/ usr / local / bin / python2作为/usr/local/bin/python2.6的软链接,然后执行/ usr / bin / python2以恢复正常。 没有多less乐趣。

请注意,这个问题的另一个解决scheme(无法编译node.js)是使用自0.8.6以来发布的 Linux二进制发行版

这是我使用的脚本:

 # get the latest stable binary # (modify version number based on what you find in that folder) wget http://nodejs.org/dist/latest/node-v0.8.20-linux-x64.tar.gz cd /usr/local/ sudo tar xzvf ~/node-v0.8.20-linux-x64.tar.gz --strip=1 
Interesting Posts