我正在尝试从源代码在OpenSuse 12.3上安装NodeJS。我需要它才能让Etherpad-Lite正常工作。 Node.JS版本0.8.0 当尝试通过./configure安装然后make然后make install我得到以下错误代码:
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': [],
'include_dirs': [],
'libraries': []},
'variables': { 'host_arch': 'ia32',
'node_install_npm': 'true',
'node_install_waf': 'true',
'node_prefix': '',
'node_shared_openssl': 'false',
'node_shared_v8': 'false',
'node_shared_zlib': 'false',
'node_use_dtrace': 'false',
'node_use_etw': 'false',
'node_use_openssl': 'true',
'strict_aliasing': 'true',
'target_arch': 'ia32',
'v8_use_snapshot': 'true'}}
creating ./home/etherpad/node-v0.8.0/config.gypi
creating ./home/etherpad/node-v0.8.0/config.mk
Traceback (most recent call last):
File "./home/etherpad/node-v0.8.0/configure", line 401, in
subprocess.call(['tools/gyp_node', '-f', 'make'])
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
如果我使用的是最新版本的NodeJS,我会收到另一个错误:
/usr/bin/python: can't open file 'tools/gyp_node': [Errno 2] No such file or directory
{ 'target_defaults': { 'cflags': [],
'default_configuration': 'Release',
'defines': [],
'include_dirs': [],
'libraries': []},
'variables': { 'clang': 0,
'gcc_version': 47,
'host_arch': 'ia32',
'node_install_npm': 'true',
'node_prefix': '',
'node_shared_cares': 'false',
'node_shared_http_parser': 'false',
'node_shared_libuv': 'false',
'node_shared_openssl': 'false',
'node_shared_v8': 'false',
'node_shared_zlib': 'false',
'node_tag': '',
'node_unsafe_optimizations': 0,
'node_use_dtrace': 'false',
'node_use_etw': 'false',
'node_use_openssl': 'true',
'node_use_perfctr': 'false',
'node_use_systemtap': 'false',
'python': '/usr/bin/python',
'target_arch': 'ia32',
'v8_enable_gdbjit': 0,
'v8_no_strict_aliasing': 1,
'v8_use_snapshot': 'true'}}
creating ./home/etherpad/node-v0.10.12/config.gypi
creating ./home/etherpad/node-v0.10.12/config.mk
make: Nothing to be done for `/home/etherpad/node-v0.10.12'.
make: *** No rule to make target `install'. Stop.
希望你能帮助我。在此先感谢;)
答案 0 :(得分:0)
(1)您的帖子日期为2013年7月1日,当时,nodejs的最新稳定版本为v0.10.12,于2013年6月19日推出。截至今日,2014年3月13日,最新的稳定源代码版本节点js v0.10.26截至今天,你的nodejs的源代码版本绝对不是最新的。
(2)在我从下载的nodejs tarball中提取的nodejs目录中,有一个第一级工具目录
[root@new-host node-v0.10.26]# pwd
/usr/src/node-v0.10.26
[root@new-host node-v0.10.26]# ls -F
AUTHORS ChangeLog config.mk deps/ LICENSE node.gyp src/ vcbuild.bat
benchmark/ common.gypi configure* doc/ Makefile out/ test/
BSDmakefile config.gypi CONTRIBUTING.md lib/ node@ README.md tools/
在 tools / 目录中,应该有一个名为* gyp_node *的文件
[root@new-host node-v0.10.26]# ls tools/gyp_*
tools/gyp_node.py
您是否在我上面的node-v0.10.26列表中看到了 tools / gyp-node.py 文件?好。这就是Makefile所指的" tools / gyp_node"您从第一行收到了一条错误消息:
/usr/bin/python: can't open file 'tools/gyp_node': [Errno 2] No such file or directory
并且该错误消息的含义是不言而喻的。
总结一下:截至今天,2014年3月13日,您没有使用最新版本的nodejs,而您正在使用的nodejs版本缺少文件* tools / gyp_node.py *您的问题是奇怪的,因为v0.10.12应该是nodejs的稳定版本,这意味着文件* gyp_node.py *应该存在于 tools / 目录中。