node-pg-migrate无法读取config.json文件,指定--config-file参数无效如何解决?
node-pg-migrate 无法读取指定配置文件的解决方案
问题根因
读取配置文件是node-pg-migrate自带的基础功能,不需要额外安装第三方依赖,你遇到的问题是npm脚本参数传递规则使用错误导致的。
npm执行自定义脚本时,默认会把--分隔符之前的参数识别为npm自身的运行参数,不会透传给脚本对应的执行程序。你原来的命令中--config-file被npm直接拦截,根本没有传递到node-pg-migrate工具侧,因此工具始终使用默认路径查找配置,找不到你指定的文件。
修复方法
正确的执行命令需要添加--作为参数分隔符,示例如下:
npm run migrate up -- --config-file "./myconfig.json"
其他可选排查项
如果修改命令后仍然无法正常读取配置,可以按以下顺序排查:
- 确认package.json中的migrate脚本配置正确,无额外参数覆盖配置读取逻辑,参考配置如下:
{ "scripts": { "migrate": "node-pg-migrate" } }
- 确认
./myconfig.json的路径是相对于你执行命令的当前工作目录的相对路径,路径拼写错误、层级不对都会导致读取失败 - 检查myconfig.json本身无JSON语法错误(比如不存在尾逗号、引号闭合正常),且配置字段符合node-pg-migrate的格式要求
内容的提问来源于stack exchange,提问作者Luis Alfonso Buelvas Betancour
相关产品推荐
相关产品推荐

