繁体   English   中英

编译node.js时出错

[英]Error when compiling node.js

我从官方链接下载了git repo,

git clone git://

我运行了./configure && make && make install ,其中make install返回错误:

  LINK(target) /usr/local/bin/node/out/Release/node: Finished
  touch /usr/local/bin/node/out/Release/obj.target/node_dtrace_header.stamp
  touch /usr/local/bin/node/out/Release/obj.target/node_dtrace_provider.stamp
  touch /usr/local/bin/node/out/Release/obj.target/node_dtrace_ustack.stamp
  touch /usr/local/bin/node/out/Release/obj.target/node_etw.stamp
  touch /usr/local/bin/node/out/Release/obj.target/node_mdb.stamp
  touch /usr/local/bin/node/out/Release/obj.target/node_perfctr.stamp
  touch /usr/local/bin/node/out/Release/obj.target/specialize_node_d.stamp
make[1]: Leaving directory `/usr/local/bin/node/out'
ln -fs out/Release/node node

#make install

make -C out BUILDTYPE=Release V=1
make[1]: Entering directory `/usr/local/bin/node/out'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/usr/local/bin/node/out'
ln -fs out/Release/node node
/usr/bin/python tools/install.py install '' '/usr/local'
installing /usr/local/bin/node
Traceback (most recent call last):
  File "tools/install.py", line 202, in <module>
    run(sys.argv[:])
  File "tools/install.py", line 197, in run
    if cmd == 'install': return files(install)
  File "tools/install.py", line 130, in files
    action(['out/Release/node'], 'bin/node')
  File "tools/install.py", line 79, in install
    def install(paths, dst): map(lambda path: try_copy(path, dst), paths)
  File "tools/install.py", line 79, in <lambda>
    def install(paths, dst): map(lambda path: try_copy(path, dst), paths)
  File "tools/install.py", line 70, in try_copy
    try_unlink(target_path) # prevent ETXTBSY errors
  File "tools/install.py", line 33, in try_unlink
    os.unlink(path)
OSError: [Errno 21] Is a directory: '/usr/local/bin/node'
make: *** [install] Error 1

我真的不熟悉,这是什么问题?

我用root用户运行命令,当我搜索错误时,我只找到权限问题主题,但这里不是这种情况。

我将node.js源代码下载到/usr/local/bin/node ,node.js可以很好地编译到/usr/local/bin/node/out文件夹,然后尝试将其链接/可执行安装到/usr/local/bin/node这是一个文件夹...

OSError: [Errno 21] Is a directory: '/usr/local/bin/node'

解:

重命名文件夹/usr/local/bin/node (如/usr/local/bin/node-src )并重复安装过程。

编译良好:

giant:/usr/local/bin/node-src# l ../
total 14228
-rwxr-xr-x  1 root staff 14562901 May 26 14:12 node
drwxr-sr-x 11 root staff     4096 May 26 14:16 node-src
lrwxrwxrwx  1 root staff       38 May 26 14:16 npm -> ../lib/node_modules/npm/bin/npm-cli.js

如果您没有安装必备软件包,则可能会发生此错误。 因此,请尝试以下

须藤apt-get -y install build-essential g ++ libssl-dev pkg-config

如果所有软件包都已成功安装在系统中,请执行以下操作

须藤apt-get install libc-ares2 libev4 libv8-3.7.12.22 nodejs

在此之后键入

节点-v

检查其是否正确解决了您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM