无法通过npm或yarn在mac m1芯片上安装grpc工具



用于安装的命令:

npm安装-ggrpc工具

纱线添加全局grpc工具

尝试在macm1 BigSur上安装grpc工具时。我遇到了粘贴在下面的错误:

npm ERR! code 1
npm ERR! path /Users/abdulmoiz_ahmer/.nvm/versions/node/v16.13.1/lib/node_modules/grpc-tools
npm ERR! command failed
npm ERR! command sh -c node-pre-gyp install
npm ERR! response status 404 Not Found on https://node-precompiled-binaries.grpc.io/grpc-tools/v1.11.2/darwin-arm64.tar.gz
npm ERR! node-pre-gyp info it worked if it ends with ok
npm ERR! node-pre-gyp info using node-pre-gyp@1.0.8
npm ERR! node-pre-gyp info using node@16.13.1 | darwin | arm64
npm ERR! node-pre-gyp info check checked for "/Users/abdulmoiz_ahmer/.nvm/versions/node/v16.13.1/lib/node_modules/grpc-tools/bin/grpc_tools.node" (not found)
npm ERR! node-pre-gyp http GET https://node-precompiled-binaries.grpc.io/grpc-tools/v1.11.2/darwin-arm64.tar.gz
npm ERR! node-pre-gyp ERR! install response status 404 Not Found on https://node-precompiled-binaries.grpc.io/grpc-tools/v1.11.2/darwin-arm64.tar.gz 
npm ERR! node-pre-gyp ERR! install error 
npm ERR! node-pre-gyp ERR! stack Error: response status 404 Not Found on https://node-precompiled-binaries.grpc.io/grpc-tools/v1.11.2/darwin-arm64.tar.gz
npm ERR! node-pre-gyp ERR! stack     at /Users/abdulmoiz_ahmer/.nvm/versions/node/v16.13.1/lib/node_modules/grpc-tools/node_modules/@mapbox/node-pre-gyp/lib/install.js:67:15
npm ERR! node-pre-gyp ERR! stack     at processTicksAndRejections (node:internal/process/task_queues:96:5)
npm ERR! node-pre-gyp ERR! System Darwin 20.4.0
npm ERR! node-pre-gyp ERR! command "/Users/abdulmoiz_ahmer/.nvm/versions/node/v16.13.1/bin/node" "/Users/abdulmoiz_ahmer/.nvm/versions/node/v16.13.1/lib/node_modules/grpc-tools/node_modules/.bin/node-pre-gyp" "install"
npm ERR! node-pre-gyp ERR! cwd /Users/abdulmoiz_ahmer/.nvm/versions/node/v16.13.1/lib/node_modules/grpc-tools
npm ERR! node-pre-gyp ERR! node -v v16.13.1
npm ERR! node-pre-gyp ERR! node-pre-gyp -v v1.0.8
npm ERR! node-pre-gyp ERR! not ok

我通过将npm_config_target_arch显式设置为x64来实现它,这可能不是最好的解决方案,但目前我只找到了这些。我这样运行我的npm install

npm_config_target_arch=x64 npm i grpc-tools

如果我找到更好的方法,我会更新答案。

我可以通过强制x64二进制文件并让BigSur处理它来解决它:

yarn add grpc-tools --ignore-scripts
pushd node_modules/grpc-tools
node_modules/.bin/node-pre-gyp install --target_arch=x64
popd

如果有人能找到一种正常的安装方式,我们将不胜感激。

TL;DR:

softwareupdate --install-rosetta
# Open terminal in x86_64 mode:
arch -x86_64 zsh
source "${NVM_DIR}/nvm.sh"
# Install any another version of node (will be installed x86_x64 version):
nvm install v14
npm install -g grpc-tools

这是打包grpc工具的问题。今天的解决方案之一是使用罗塞塔。推荐好的教程。

最新更新