Today when downloading wepy-cli an error was reported
sudo npm i wepy-cli -g
gyp ERR! configure error gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/wepy-cli/node_modules/fsevents/.node-gyp' gyp ERR! System Darwin 19.2.0 gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/local/lib/node_modules/wepy-cli/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64/fse.node" "--module_name=fse" "--module_path=/usr/local/lib/node_modules/wepy-cli/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64" "--napi_version=5" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v72" gyp ERR! cwd /usr/local/lib/node_modules/wepy-cli/node_modules/fsevents gyp ERR! node -v v12.13.1 gyp ERR! node-gyp -v v5.0.5 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/local/lib/node_modules/wepy-cli/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64/fse.node --module_name=fse --module_path=/usr/local/lib/node_modules/wepy-cli/node_modules/fsevents/lib/binding/Release/node-v72-darwin-x64 --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/wepy-cli/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:210:5) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1021:16)
I said I didn’t have permission. Why?I added sudo
After tossing for a long time, I found an order
sudo npm install –unsafe-perm -g wepy-cli
That’s it
Why
A: for security reasons, NPM does not support running as root. Even if you run as root, NPM will automatically turn into a user named nobody, who has almost no permissions. In this way, if your script has some operations that require permissions, such as writing files (especially/root /. Node gyp), it will crash
In order to avoid this situation, either follow the rules of NPM and set up a high authority user for running NPM; Either add the — unsafe perm parameter, so that you will not switch to nobody. The user at runtime is the same user, even root
Similar Posts:
- Root permission NPM global installation (- G) will still have insufficient permissions. Please know the parameter unsafe perm
- [Solved] NPM installation error: error: eacces: permission denied
- [Solved] NPM Error: gyp: No Xcode or CLT version detected!
- Completely Uninstall Node.js from Mac OS X
- Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 7.x
- Gyp: no Xcode or CLT version detected!
- npm install: npm ERR! errno -4048, Error: EPERM: operation not permitted[How to Solve]
- How to Solve Error: ENOENT: no such file or directory, scandir ‘..\node_modules\node-sass\vendor’
- Solution to the failure of node rdkafka in docker build
- [xviz] ./scripts/run-kitti-example.sh Excute Error: gyp ERR! Node-gyp failed to build your package.