在RedHat Enterprise 7上,尝试在Python虚拟环境(Python 2.7)中的nodeenv(0.13.6
)内部安装node.js.当我nodeenv -p
时,我会OSError: Command make --jobs=2 failed with error code 2
...谷歌搜索,唯一的参考是here。对我来说不是很有用,因为我已经尝试安装最新版本的节点(4.2.1)。完整的这一点如下:
$ nodeenv -p
* Install node (4.2.1..Traceback (most recent call last):
File "/usr/local/pythonenvs/producer/bin/nodeenv", line 11, in <module>
sys.exit(main())
File "/usr/local/pythonenvs/producer/lib/python2.7/site-packages/nodeenv.py", line 891, in main
create_environment(env_dir, opt)
File "/usr/local/pythonenvs/producer/lib/python2.7/site-packages/nodeenv.py", line 732, in create_environment
install_node(env_dir, src_dir, opt)
File "/usr/local/pythonenvs/producer/lib/python2.7/site-packages/nodeenv.py", line 608, in install_node
build_node_from_src(env_dir, src_dir, node_src_dir, opt)
File "/usr/local/pythonenvs/producer/lib/python2.7/site-packages/nodeenv.py", line 577, in build_node_from_src
callit([make_cmd] + make_opts, opt.verbose, True, node_src_dir, env)
File "/usr/local/pythonenvs/producer/lib/python2.7/site-packages/nodeenv.py", line 461, in callit
% (cmd_desc, proc.returncode))
OSError: Command make --jobs=2 failed with error code 2
然后我尝试使用此GitHub issue中的说明从预建中安装。
nodeenv -p --prebuilt
这似乎有用......
* Install node (4.2.1... done.
* Appending data to /usr/local/pythonenvs/producer/bin/activate
除了实际安装的任何内容之外 - 选项卡完成显示没有node
或npm
安装(我已停用并重新激活虚拟环境):
$ no
nodeenv nohup nologin notify-send
$ np
$ nproc
我的其他安装程序使用相同的说明,因此我无法进行调试。任何提示或建议?如果这是权限问题,我在哪里需要设置/更改它们?用户已拥有虚拟环境目录...
答案 0 :(得分:1)
好的,所以我没有找到根本原因的解决方案(我怀疑我的服务器上有make
的某种问题/冲突),但我设法通过--prebuilt
安装了它。我必须从node.js
手动删除/usr/local/pythonenvs/producer/src/node-v4.2.1/
来源,因为--prebuilt
选项试图复制这些来源,就好像它们是二进制文件一样。删除目录后,我从nodejs.org下载/解压缩到虚拟环境的src
目录中。然后,nodeenv -p --prebuilt
命令正常工作。