最近在安装electron-forge的时候报错如下:

➜ ~ sudo npm install -g electron-forgenpm WARN deprecated core-js@2.6.11: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.npm WARN deprecated cross-spawn-async@2.2.5: cross-spawn no longer requires a build toolchain, use it insteadnpm WARN deprecated wrench@1.5.9: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.npm WARN deprecated natives@1.1.6: This module relies on Node.js's internals and will break at some point. Do not use it, and update to graceful-fs@4.x.npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue/usr/local/bin/electron-forge-vscode-win -> /usr/local/lib/node_modules/electron-forge/script/vscode.cmd/usr/local/bin/forge -> /usr/local/lib/node_modules/electron-forge/dist/electron-forge.js/usr/local/bin/electron-forge -> /usr/local/lib/node_modules/electron-forge/dist/electron-forge.js/usr/local/bin/electron-forge-vscode-nix -> /usr/local/lib/node_modules/electron-forge/script/vscode.sh> fs-xattr@0.1.17 install /usr/local/lib/node_modules/electron-forge/node_modules/fs-xattr> node-gyp rebuildgyp WARN EACCES current user ("nobody") does not have permission to access the dev dir "/Users/mac/Library/Caches/node-gyp/10.18.0"gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/electron-forge/node_modules/fs-xattr/.node-gyp"gyp WARN install got an error, rolling back installgyp WARN install got an error, rolling back installgyp ERR! configure errorgyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/electron-forge/node_modules/fs-xattr/.node-gyp'gyp ERR! System Darwin 19.2.0gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /usr/local/lib/node_modules/electron-forge/node_modules/fs-xattrgyp ERR! node -v v10.18.0gyp ERR! node-gyp -v v5.0.5gyp ERR! not ok> macos-alias@0.2.11 install /usr/local/lib/node_modules/electron-forge/node_modules/macos-alias> node-gyp rebuildgyp WARN EACCES current user ("nobody") does not have permission to access the dev dir "/Users/mac/Library/Caches/node-gyp/10.18.0"gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/electron-forge/node_modules/macos-alias/.node-gyp"gyp WARN install got an error, rolling back installgyp WARN install got an error, rolling back installgyp ERR! configure errorgyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/electron-forge/node_modules/macos-alias/.node-gyp'gyp ERR! System Darwin 19.2.0gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /usr/local/lib/node_modules/electron-forge/node_modules/macos-aliasgyp ERR! node -v v10.18.0gyp ERR! node-gyp -v v5.0.5gyp ERR! not ok> electron-forge@5.2.4 install /usr/local/lib/node_modules/electron-forge> node tabtab-install.jsUser shell sh not supported, skipping completion installnpm WARN optional SKIPPING OPTIONAL DEPENDENCY: fs-xattr@0.1.17 (node_modules/electron-forge/node_modules/fs-xattr):npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fs-xattr@0.1.17 install: `node-gyp rebuild`npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1npm WARN optional SKIPPING OPTIONAL DEPENDENCY: macos-alias@0.2.11 (node_modules/electron-forge/node_modules/macos-alias):npm WARN optional SKIPPING OPTIONAL DEPENDENCY: macos-alias@0.2.11 install: `node-gyp rebuild`npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1+ electron-forge@5.2.4added 4 packages from 2 contributors and updated 1 package in 19.963s

由上述报错可以看出,很明细是权限问题,但是明明加上了sudo提权啊?为啥还报错呢?而且前几天在Windows中使用CMD管理员权限安装也会报同样的错误。

那么可以使用如下参数进行安装:

sudo npm install -g electron-forge --unsafe-perm

可能是系统检测到安全性问题了。