Ran*_*shi 8 python node.js node-gyp
当我运行该命令时,node-gyp rebuild我收到以下错误:
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.2
gyp info using node@9.6.1 | linux | x64
gyp info find Python using Python version 3.8.5 found at "/usr/bin/python3"
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: ENOENT: no such file or directory, mkdir '/home/rando/.cache/node-gyp/9.6.1'
gyp ERR! System Linux 5.8.0-45-generic
gyp ERR! command "/home/rando/.nvm/versions/node/v9.6.1/bin/node" "/home/rando/.nvm/versions/node/v9.6.1/bin/node-gyp" "rebuild" "--python=/home/rando/.pyenv/versions/2.7.18/bin"
gyp ERR! cwd /home/rando/Desktop/git/master-node/node/browser_engines/src/browsers/webkit
gyp ERR! node -v v9.6.1
gyp ERR! node-gyp -v v7.1.2
gyp ERR! not ok
Run Code Online (Sandbox Code Playgroud)
我尝试更改 node-gyp 默认 python 版本,如下所示:
node-gyp rebuild --python=/home/rando/.pyenv/versions/2.7.18/bin node-gyp rebuild --python=2.7node-gyp rebuild --python=2.7.18所有命令都会导致相同的错误。他们使用 python3 而不是传递给配置的 python。
环境详情
NODE_GYP_FORCE_PYTHON我通过导出如下解决了这个问题:
export NODE_GYP_FORCE_PYTHON=$HOME/.pyenv/versions/2.7.18/bin/python
echo $NODE_GYP_FORCE_PYTHON
Run Code Online (Sandbox Code Playgroud)