3

我正在尝试运行expo opt-in-google-play-signing,但在粘贴以下加密密钥后会引发错误:

fatal error: too many errors emitted, stopping now [-ferror-limit=]
11 warnings and 20 errors generated.

Run npm -g install node-pty-prebuilt to install node pty
Error: Package node-pty-prebuilt is required to use PEPK tool

最初,当我运行建议的 npm install 时,我遇到了一个已解决的权限问题,sudo chown -R $USER /usr/local/lib/node_modules但是当我运行该解决方案时npm -g install node-pty-prebuilt,它再次失败:

fatal error: too many errors emitted, stopping now [-ferror-limit=]
11 warnings and 20 errors generated.
make: *** [Release/obj.target/pty/src/unix/pty.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:310:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--build_v8_with_gn=false"
gyp ERR! cwd /usr/local/lib/node_modules/node-pty-prebuilt
gyp ERR! node -v v12.16.2
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-pty-prebuilt@0.7.6 install: `prebuild-install || node scripts/install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the node-pty-prebuilt@0.7.6 install script.

如果使用 sudo 运行,我会得到:

prebuild-install WARN install EACCES: permission denied, access '/Users/uxdw/.npm'

这次运行 chown 脚本似乎并没有解决上述访问问题,给出:

gyp WARN EACCES current user ("nobody") does not have permission to access the dev dir "/Users/uxdw/Library/Caches/node-gyp/12.16.2"

这是在 Mojave 上的 macbook 上作为管理员帐户运行的。

4

1 回答 1

1

这可以通过简单地降级活动节点版本来解决。在撰写本文时,它与 v10.12.0 或 v10.13.0 都可以正常工作。

我使用 Node Version Manager (NVM) 在版本之间进行热交换。

安装 NVM:

Brew install nvm
source ~/.nvm/nvm.sh (relinks nvm until is set as default on Terminal launch)

安装节点版本:

nvm install node // install node
nvm install 8.9  // install specific version
nvm uninstall x.x // uninstall specific version

切换到特定版本:

nvm use x.x // use a specific version

更多详情:NVM

于 2020-06-19T14:36:24.510 回答