Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Linux中安装节点gyp?_Javascript_Node.js - Fatal编程技术网

Javascript 如何在Linux中安装节点gyp?

Javascript 如何在Linux中安装节点gyp?,javascript,node.js,Javascript,Node.js,我尝试的是在系统上安装Node gyp。我尝试在有linux 12.04 ubuntu操作系统的系统上安装 有人知道如何设置安装节点gyp的权限吗 感谢您的帮助。npm安装-g为所有用户安装软件包。因此,您需要管理员权限才能安装它。试一试 user@user-VirtualBox:~/express$ npm install -g node-gyp npm http GET https://registry.npmjs.org/node-gyp npm http 200 https://regi

我尝试的是在系统上安装Node gyp。我尝试在有linux 12.04 ubuntu操作系统的系统上安装

有人知道如何设置安装节点gyp的权限吗


感谢您的帮助。

npm安装-g
为所有用户安装软件包。因此,您需要管理员权限才能安装它。试一试

user@user-VirtualBox:~/express$ npm install -g node-gyp
npm http GET https://registry.npmjs.org/node-gyp
npm http 200 https://registry.npmjs.org/node-gyp
npm http GET https://registry.npmjs.org/node-gyp/-/node-gyp-0.6.3.tgz
npm http 200 https://registry.npmjs.org/node-gyp/-/node-gyp-0.6.3.tgz
npm ERR! Could not create /usr/local/lib/node_modules/___node-gyp.npm
npm ERR! error installing node-gyp@0.6.3

npm ERR! Error: EACCES, permission denied '/usr/local/lib/node_modules'
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.
npm ERR! 
npm ERR! System Linux 3.2.0-23-generic
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "node-gyp"
npm ERR! cwd /home/user/express
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! message EACCES, permission denied '/usr/local/lib/node_modules'
npm ERR! errno {}
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/user/express/npm-debug.log
npm not ok
user@user-VirtualBox:~/express$ 

我很幸运地切换到root用户(
sudo su
,-->password),然后运行:

sudo npm安装-g节点gyp
然后您可以按Ctrl+D组合键返回到正常用户(即您)

这可能会有帮助

[[编辑]]: 节点Gyp不支持Python 3:


我不知道为什么,因为Python 3.0.0在近10年前就已经实现了。

您需要管理员权限才能安装它

试一试

你可以试试这个

sudo -i

npm install -g node-gyp

试试“sudo npm install-g node gyp”@nguyenkha,谢谢你的帮助。最好是以root用户身份登录并完成;如果在sudo下运行,npm的最新版本将切换为“nobody”运行,这偶尔会导致问题。这在Ubuntu 13.04中失败,因为node gyp希望找到一个名为“node”的命令,但在Ubuntu 13.04中,它被称为“nodejs”。@KristianSpangsege在这种情况下,使用
sudo ln-fs nodejs/usr/bin/nodejs
使nodejs也被称为
node
。True。我只是想表达我对这种情况的不满:-)在Ubuntu13.04上,这个问题可以通过安装“node legacy”来解决。
sudo -i

npm install -g node-gyp
sudo npm install -g node-gyp --allow-root --unsafe-perm