尝试编译官方给的addon例子,运行
node-gyp configure
后出错:
node-gyp的依赖项都装了:
回复 (6)
.........我到现在都没装上node-gyp
权限不够吧:sudo node-gyp configure
已经是root了,而且系统里也没装sudo,怎么sudo啊?
按网上搜出来的这个错误关系到 Make 把目录当成文件来操作的..
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
终于找到问题所在了。 因为自己不喜欢把软件包安装到/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的执行文件被指定成了一个目录导致的!