为什么 NVM 使用错误的 Python 版本?

Jaz*_*een 19 python macos node.js nvm

我的包有一些问题node-gyp,我相信这是因为我需要使用 python 2.7 而不是 python 3。

我已经设置了 PATH 环境变量,以便当我执行时python --version输出为Python 2.7.16.

但是,在同一个终端中,当我去yarn安装我的项目时。它失败了,我可以看到日志的输出是:

Command: node-gyp rebuild
Arguments:
Directory: /Users/myname/Documents/myproject
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@5.0.5
gyp info using node@12.14.0 | darwin | x64
gyp info find Python using Python version 3.7.3 found at "/Users/myname/anaconda3/bin/python"
Run Code Online (Sandbox Code Playgroud)

我也在用nvm。卡塔琳娜 10.15.2。节点 12.14.0。NVM 0.33.11。

为什么我的终端版本显示我使用的是 2.7,但日志显示该命令node-gyp rebuild使用的是 3.7.3?如果我已经设置了环境变量,我可以更改什么来纠正这个问题?和nvm有关系吗?

mos*_*200 17

如果在 M1 Mac 上遇到此问题,请参阅此问题的已接受答案(基本上对于早于 15 的 Node 版本,您需要使用 Rosetta 打开终端):

nvm 安装节点无法在 macOS Big Sur M1 芯片上安装

当这里的其他答案不起作用时,这个解决方案对我有用(在 M1 MacBook Pro 上)。


小智 6

苹果系统M1

  1. pyenv使用brew安装来管理不同的python版本: brew install pyenv.

2 eval "$(pyenv init -)"..

  1. 如果您要安装低于 3.y 的版本,请使用 Rosetta 打开终端。

  2. 列出所有可安装的版本pyenv install --list

  3. pyenv 全局 2.7.18


Jaz*_*een -5

解决了!你可以做:

npm install --python=python2.7

或将其设置为始终使用:

npm config set python python2.7

从这里捏住 =>如何在 NPM 安装期间使用不同版本的 python?

  • 它用于纱线。如果您认为它重复,请将其标记为重复。不要只是复制答案.. (2认同)