Nodejs原码安装遇Permission denied错误求解

Nodejs原码安装遇Permission denied错误求解

环境:ubuntu 12.10 node版本:v0.10.5 错误详情:
make[1]: Leaving directory `/home/sammo/soft/node-v0.10.5/out’ ln -fs out/Release/node node /usr/bin/python tools/install.py install installing /usr/local/bin/node Traceback (most recent call last): File “tools/install.py”, line 156, in <module> run(sys.argv[:]) File “tools/install.py”, line 151, in run if cmd == ‘install’: return files(install) File “tools/install.py”, line 122, 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 71, in try_copy return shutil.copy2(source_path, target_path) File “/usr/lib/python2.7/shutil.py”, line 130, in copy2 copyfile(src, dst) File “/usr/lib/python2.7/shutil.py”, line 83, in copyfile with open(dst, ‘wb’) as fdst: IOError: [Errno 13] Permission denied: '/usr/local/bin/node’ make: *** [install] Error 1


7 回复

Node.js 原码安装遇 Permission denied 错误求解

环境

  • 操作系统:Ubuntu 12.10
  • Node.js 版本:v0.10.5

错误详情

在尝试安装 Node.js 的过程中,遇到了以下错误信息:

make[1]: Leaving directory `/home/sammo/soft/node-v0.10.5/out'
ln -fs out/Release/node node
/usr/bin/python tools/install.py install
installing /usr/local/bin/node
Traceback (most recent call last):
File "tools/install.py", line 156, in <module>
run(sys.argv[:])
File "tools/install.py", line 151, in run
if cmd == 'install': return files(install)
File "tools/install.py", line 122, 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 71, in try_copy
return shutil.copy2(source_path, target_path)
File "/usr/lib/python2.7/shutil.py", line 130, in copy2
copyfile(src, dst)
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/usr/local/bin/node'
make: *** [install] Error 1

解决方法

遇到 Permission denied 错误通常是由于当前用户没有足够的权限去写入目标目录(如 /usr/local/bin)。可以通过使用 sudo 来提升权限。

具体步骤如下:

  1. 切换到 root 用户或使用 sudo 使用 sudo 提升权限,可以执行需要管理员权限的操作。

  2. 重新运行安装命令 在安装过程中,添加 sudo 以确保有足够的权限来写入目标文件夹。

cd /path/to/node-source
./configure
sudo make
sudo make install

示例代码

以下是完整的安装过程示例代码:

# 切换到 Node.js 源码目录
cd /home/sammo/soft/node-v0.10.5

# 配置安装路径
./configure

# 编译源码
make

# 安装 Node.js 并提升权限
sudo make install

通过上述步骤,应该能够解决 Permission denied 的问题。如果仍然遇到其他权限相关的问题,建议检查系统中的用户权限设置。


Permission denied: ‘/usr/local/bin/node’ 要 sudo 一下。

如何sudo 一下??

已是: sudo make && make install

分开来吧… sudo make sudo make insatll …

补充一下 sudo make && make install 这样写, sudo 是不会传递到make install 这里来的…

已解决,是权限问题!谢谢各位。

遇到 Permission denied 错误通常是因为当前用户没有足够的权限去写入指定目录(如 /usr/local/bin)。解决此问题的方法之一是使用 sudo 命令来获取超级用户的权限。以下是具体步骤:

  1. 使用 sudo 运行安装脚本: 在执行 make install 命令之前,使用 sudo 来确保有足够的权限。

    sudo make install
    
  2. 如果遇到权限问题,确保安装路径可写: 如果上述方法不起作用,可以手动创建安装目录并修改其权限,使其对当前用户可写。

    sudo mkdir -p /usr/local/bin
    sudo chown $USER /usr/local/bin
    
  3. 重新尝试安装: 完成以上操作后,再次运行安装命令:

    ./configure
    make
    sudo make install
    

通过这些步骤,你应该能够避免 Permission denied 错误,并成功完成 Node.js 的安装。

回到顶部