Abdulmoiz Ahmer
Abdulmoiz Ahmer

Reputation: 2361

Unable to install grpc-tools via npm or yarn on mac m1 chip?

Commands Used to install:

npm install -g grpc-tools

yarn add global grpc-tools

While trying to install grpc-tools on mac m1 BigSur. I ran into errors pasted below:

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 [email protected]
npm ERR! node-pre-gyp info using [email protected] | 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

Upvotes: 12

Views: 9880

Answers (3)

Eugen Soloviov
Eugen Soloviov

Reputation: 306

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

It is problem with package grpc-tools. One of solution for today is using Rosetta. Recommend good tutorial.

Upvotes: 5

Clément Jean
Clément Jean

Reputation: 1916

I made it work by setting explicitly the npm_config_target_arch to x64, this is probably not the best solution but for now that's all I found. I ran my npm install like this:

npm_config_target_arch=x64 npm i grpc-tools

if I find a better way I'll update that answer.

Upvotes: 14

Abdulmoiz Ahmer
Abdulmoiz Ahmer

Reputation: 2361

I was able to work around it by just forcing the x64 binary and letting BigSur deal with it:

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

If anyone can find a normal way to install it that would be appreciated.

Upvotes: 7

Related Questions