在OpenSuse 12.3上安装NodeJS时出现Python错误

时间:2013-07-01 19:33:25

标签: node.js npm opensuse etherpad

我正在尝试从源代码在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.
希望你能帮助我。在此先感谢;)

1 个答案:

答案 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 / 目录中。