当我在 Centos 6.4 上运行make时,我也遇到了与 Marius Milliunas 相同的错误——那是在我从下载的 nodejs tarball 中提取的 nodejs 目录中运行./configure命令之后。就像马里乌斯·米利乌纳斯所做的那样。
问题的根源在于 nodejs 安装依赖于正在安装的 Python。具体来说,Centos 6.4 的默认 Python 安装不包括 bz2 模块,纠正措施当然是从安装 bz2 模块开始的。这是通过运行
yum install bzip2-devel
我也跑得很好
yum install bzip2
Centos 6.4 的内置 Python 是 Python 2.6.6 但这对于安装最新版本的 nodejs 来说很好,在撰写本文时它是 node v0.10.26
运行 yum install bzip2-devel后,您可以返回并在 nodejs 目录中运行make ,这一次, make将运行完成。按照nodejs 目录中设置的说明运行make install来跟进。
您可以通过运行node并获得提示来测试您的 nodejs 安装。我选择通过创建基于 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!
并按预期得到了“它的工作原理”输出:)
重要的提示
如果您在 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-and-3-3-3-on-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 系统的访问权限以及对 yum 的访问权限。事实上,我推测我破坏了我对 Centos 6.4 上每个依赖于系统 Python 的访问才能正常工作的程序的访问。如果我在那个时间点成功安装了 nodejs,我也会破坏我对 nodejs 的访问。我必须销毁并重新创建 /usr/local/bin/python2 作为指向 /usr/local/bin/python2.6 的软链接,并对 /usr/bin/python2 执行相同操作以使事情恢复正常。没有太多乐趣。