npm install -g node-gyp
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/node-gyp
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-gyp'
npm ERR! [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/node-gyp'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'mkdir',
npm ERR! path: '/usr/local/lib/node_modules/node-gyp'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
这个错误表明您在尝试全局安装 node-gyp
时遇到了权限问题。这可能是因为您没有足够的权限将模块安装到全局目录。
有几种方法可以解决这个问题:
sudo
(需要管理员权限)使用管理员权限运行 npm install
命令。请注意,这样做可能会导致一些权限问题,因此请确保您知道自己在做什么。
sudo npm install -g node-gyp
使用 Node 版本管理器(如 nvm 或 n)来安装 Node.js 和 npm,并确保您有足够的权限来安装全局模块。这样可以避免以管理员身份运行 npm。
首先,安装 Node 版本管理器。以下是使用 nvm 的示例:
curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh> | bash
然后,关闭并重新打开终端或运行 source ~/.bashrc
或 source ~/.zshrc
,以加载 nvm。
接下来,使用 nvm 安装 Node.js:
nvm install node
最后,您可以全局安装 node-gyp
:
npm install -g node-gyp
这样可以确保您在用户目录下具有足够的权限,而无需使用 sudo
。
sudo
安装,请小心操作,并确保您了解潜在的风险。