使用 nvm 设置单个命令的节点版本

问题描述 投票:0回答:2

我有一个命令必须在安装了 Node 16 的情况下运行,没有其他版本。但是,我需要安装最新版本的 Node 才能正常使用。

如何配置(也许使用环境变量),以便只有一个命令使用 Node 16?

nvm use 16 && node -v && nvm use 19
这样的东西太慢了,但是
.zshrc
中的别名是一种选择。

node.js shell nvm
2个回答
1
投票

我在我的一个项目中所做的是:

我已切换到节点 16:

nvm use 16
。 之后
which node
显示了这条路径:
/root/.nvm/versions/node/v16.19.0/bin/node

所以我只是为此可执行文件创建了一个符号链接:

ln -s $(which node) /usr/bin/node16

最后我切换回版本:

nvm use system

现在您可以通过

node
使用默认节点版本,并通过
node16
使用此命令所需的节点版本。


0
投票

我不确定这是否能回答您的问题。但我有太多类似的需求,Go 程序使用 Golang

os/exec
包触发 Node.js 程序。该 Node.js 程序必须在特定版本的节点上运行(在我的例子中为 14.17.0),并且我使用的是
nvm
,它在我的系统中设置了 17.5.0

因此,我可以在运行 Go 程序之前使用环境变量集动态地将版本从 17.5.0 切换到 14.17.0。

export NVM_BIN=/Users/<username>/.nvm/versions/node/v14.17.0/bin
export PATH=$PATH:$NVM_BIN    # make sure no other node version bin path is in the PATH variable
© www.soinside.com 2019 - 2024. All rights reserved.