如何设置Dokku使其固定安装Node 12.x大版本而非更高版本
解决方法
你当前配置的>=12.19.0版本范围允许所有高于12.19.0的Node大版本,Dokku默认会拉取该范围内的最新正式大版本,所以才会安装16.x版本,按以下操作即可锁定到最新的12.x分支版本:
- 首先修改
package.json中的engines配置,将版本范围限定为12.x分支:
"engines": { "node": "^12.19.0" }
你也可以直接写"node": "12.x",会直接匹配最新的12.x正式版,不会跨大版本安装。
- 如果你希望优先级更高、不受项目配置变更影响,也可以直接在Dokku服务器上为对应应用设置环境变量:
dokku config:set <你的应用名称> NODE_VERSION=12.x
该配置的优先级高于package.json里的版本声明,适配性更强。
- 配置完成后如果重新部署还是拉取16.x版本,可以先清除应用的构建缓存再部署,避免旧缓存干扰:
dokku builder:cache-clear <你的应用名称>
重新部署后就会自动安装最新的12.x版本Node。
内容的提问来源于stack exchange,提问作者Seldon Stone
相关产品推荐
相关产品推荐

