我有两个项目:
- 项目 A: Node 16.10.0 NPM 7.24.2
- 项目 B: Node 16.10.0 NPM 8.10.0
两个项目都需要相同版本的 Node,但需要不同版本的 NPM。我想知道是否可以使用 NVM 来实现。
我在 MacOS 上成功实现了这个目标,但方法比较 hacky。
nvm use v16.10.0
npm -v # 7.24.2
which node # /Users/useriko/.nvm/versions/node/v16.10.0/bin/node
# duplicate v16.10.0 folder
ditto ~/.nvm/versions/node/v16.10.0 ~/.nvm/versions/node/v16.10.0_npm8
nvm use v16.10.0_npm8
npm i -g npm@8.10.0
nvm alias v16_npm7 v16.10.0
nvm alias v16_npm8 v16.10.0_npm8
现在我可以在它们之间切换
nvm use v16_npm7
用于npm 7.24.2nvm use v16_npm8
用于npm 8.10.0
是否有更好/替代的解决方案?
nvm
的深度集成。https://github.com/nvm-sh/nvm#deeper-shell-integration否则,如果您忘记手动切换到正确的node
版本,可能会在错误的node
版本中安装npm
。 - tonymontana