0

我正在尝试从源代码在 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.

希望您能够帮助我。提前致谢 ;)

4

1 回答 1

0

(1)你的帖子是2013年7月1日,当时nodejs最新的稳定版是v0.10.12,2013年6月19日推出。截至今天,2014年3月13日,nodejs最新的稳定源代码版本v0.10.26 到今天为止,你的nodejs源码版本肯定不是最新的。

(2)在我下载的nodejs tarball解压出来的nodejs目录下,有一级tools目录

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

于 2014-03-14T07:24:15.547 回答