如何使用nvm为单个命令指定Node.js 16版本
如何让特定命令仅使用Node.js 16版本(日常保留最新版)
方法1:用nvm exec直接指定版本执行
nvm exec比nvm use切换版本快得多,它不会修改全局默认Node版本,只是临时用指定版本运行单个命令。
比如你要运行的目标命令是your-command,直接执行:
nvm exec 16 your-command
嫌输入麻烦的话,在.zshrc里加个别名简化:
alias node16-run='nvm exec 16'
之后直接用node16-run your-command就能快速执行。
方法2:直接调用Node16的可执行文件
先找到nvm安装的Node16具体路径,一般是~/.nvm/versions/node/v16.x.x/bin/node(把v16.x.x换成你实际安装的16版本号,比如v16.20.2)。
运行命令时直接用这个路径的Node来执行:
~/.nvm/versions/node/v16.20.2/bin/node path/to/your/script.js
如果是全局命令(比如用Node16的npm),同样指定路径:
~/.nvm/versions/node/v16.20.2/bin/npm install
也可以把这个路径做成别名:
alias node16='~/.nvm/versions/node/v16.20.2/bin/node'
之后用node16 path/to/your/script.js就行。
方法3:封装成shell脚本
创建一个名为run-node16.sh的脚本,内容如下:
#!/bin/bash source ~/.nvm/nvm.sh nvm exec 16 "$@"
给脚本添加执行权限:
chmod +x run-node16.sh
把脚本放到~/bin(或者其他在系统PATH里的目录),之后直接用run-node16.sh your-command就能调用Node16执行目标命令。
内容的提问来源于stack exchange,提问作者shreyasm-dev
相关产品推荐
相关产品推荐

