安装 gatsby-cil 失败:npm ERR! sh: 1: node-gyp-build: 权限被拒绝
Fail to install gatsby-cil : npm ERR! sh: 1: node-gyp-build: Permission denied
我尝试使用 npm 在 WLS2 上安装 gatsby-cil 但失败了。
这是错误信息
root@LAPTOP-7EEFPLOM:~# npm install -g gatsby-cli
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm ERR! code 127
npm ERR! path /root/.nvm/versions/node/v16.14.0/lib/node_modules/gatsby-cli/node_modules/lmdb
npm ERR! command failed
npm ERR! command sh -c node-gyp-build
npm ERR! sh: 1: node-gyp-build: Permission denied
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-03-14T01_49_08_533Z-debug-0.log
一开始我以为是WSL的问题,后来我在云服务器上做了同样的事情,得到了同样的结果。
我也尝试了网上找到的解决方案:
npm config set user 0
npm config set unsafe-perm true
但还是出现同样的错误
尝试:
sudo chown -R $(whoami) ~/
您似乎没有足够的权限(在两种环境中)安装全局包,因此更改 ~/
权限文件夹可能会解决您的问题。
因为这不是 Gatsby-related 问题(它来自其依赖项),您也可以尝试使用 sudo
权限单独安装它们。在这种情况下:
sudo npm install -g node-gyp node-pre-gyp node-gyp-build
然后您应该可以再次安装 gatsby-cli
,这应该会跳过
node-gyp
包。
我尝试使用 npm 在 WLS2 上安装 gatsby-cil 但失败了。
这是错误信息
root@LAPTOP-7EEFPLOM:~# npm install -g gatsby-cli
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm ERR! code 127
npm ERR! path /root/.nvm/versions/node/v16.14.0/lib/node_modules/gatsby-cli/node_modules/lmdb
npm ERR! command failed
npm ERR! command sh -c node-gyp-build
npm ERR! sh: 1: node-gyp-build: Permission denied
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-03-14T01_49_08_533Z-debug-0.log
一开始我以为是WSL的问题,后来我在云服务器上做了同样的事情,得到了同样的结果。
我也尝试了网上找到的解决方案:
npm config set user 0
npm config set unsafe-perm true
但还是出现同样的错误
尝试:
sudo chown -R $(whoami) ~/
您似乎没有足够的权限(在两种环境中)安装全局包,因此更改 ~/
权限文件夹可能会解决您的问题。
因为这不是 Gatsby-related 问题(它来自其依赖项),您也可以尝试使用 sudo
权限单独安装它们。在这种情况下:
sudo npm install -g node-gyp node-pre-gyp node-gyp-build
然后您应该可以再次安装 gatsby-cli
,这应该会跳过
node-gyp
包。