CNode

node-gyp configure 出错“Error: Command failed: execvp(): Permission denied”

Bbingnam发布于13 年前最后回复13 年前6 回复22608 浏览0 收藏

尝试编译官方给的addon例子,运行

node-gyp configure

后出错:

node-gyp的依赖项都装了:

查看回复

回复 (6)

B
beiyio#1·13 年前

.........我到现在都没装上node-gyp

N
nickwong#2·13 年前

权限不够吧:sudo node-gyp configure

B
bingnam#3·13 年前
引用 nickwong权限不够吧:sudo node gyp configure

已经是root了,而且系统里也没装sudo,怎么sudo啊?

J
jiyinyiyong#4·13 年前

按网上搜出来的这个错误关系到 Make 把目录当成文件来操作的..

http://www.hpc.fsu.edu/index.php?option=com_content&view=article&id=107:make1-execvp-permission-denied&catid=32:compiler-issues&Itemid=48

Make[1]: execvp: permission denied

If you see an error like this when you run make, it means make is attempting to execute a directory, not a program. Which means you probably have extra spacing in one of your variables in your config/make files.

make[1]: execvp: /usr/mpi/intel/mvapich: Permission denied

这样看, 报错里的这一句挺可疑的

gyp ERR! cwd /root/hello
B
bingnam#5·13 年前

终于找到问题所在了。 因为自己不喜欢把软件包安装到/usr/local里,所以安装完的东西都需要在.bashrc中设置好环境变量。 而在设置python的环境变量时,本来是想将PYTHON_HOME设置成python安装目录的,但打快没看好,把环境变量弄成了PYTHON。 今天在一个VPS上安装nodejs跑个应用的时候,手痒就试试直接用软件包安装工具来安装nodejs,之后又安装了node-gyp到全局的node_modules。运行node-gyp时出错,提示需要python,但我已经在安装nodejs一同将python安装了,但which python时的确没找到。而在node-gyp的出错提示中还有一句,是说可以通过指定PYTHON环境变量来指定python执行文件。按着在VPS弄了,成功运行node-gyp configure。 然后就想在自己的机器上试试,才发现自己把python的安装目录写到了PYTHON环境变量了,把PYTHON改成PYTHON_HOME,运行成功,可以正常node-gyp configure build了。 原来execvp的Permission Denied是由于python的执行文件被指定成了一个目录导致的!

参与回复
登录后即可参与回复。登录