如何让asdf选择.tools-versions文件中列出的第二个Node.js版本?
如何让asdf选择.tools-versions文件中列出的第二个Node.js版本?
我完全懂你的痛点——想临时切换到.tool-versions里指定的第二个Node.js版本,还得避开那些不在这个文件里的额外版本,尤其是CI管道里可不能出错对吧?别担心,这里有两个实用的方法:
直接指定版本号临时切换
既然你已经明确知道.tool-versions里的第二个版本是20.11.1,可以直接用asdf shell命令临时设置当前会话的Node.js版本:asdf shell nodejs 20.11.1这个命令只会在当前终端会话生效,不会改动你的
.tool-versions文件,会话结束后就会自动恢复原来的版本,非常适合CI管道这种一次性场景。动态提取第二个版本(避免硬编码)
要是怕以后.tool-versions里的版本号更新,不想每次都手动改命令,可以用命令行工具自动提取第二个版本号:asdf shell nodejs $(grep nodejs .tool-versions | awk '{print $3}')解释下这个逻辑:
grep nodejs .tool-versions会筛选出文件里的nodejs配置行,awk '{print $3}'会取出该行的第三个字段(也就是你要的第二个版本号),最后把这个版本号传给asdf shell命令。这样不管.tool-versions里的版本怎么更新,都能自动拿到指定的第二个版本,完全不用担心误选其他安装过的版本。
备注:内容来源于stack exchange,提问作者sorin
相关产品推荐
相关产品推荐

