package.json脚本执行报错:无法找到ng-package.json文件
解决ng-packagr执行时文件路径错误的问题
首先先揪出一个容易忽略的小细节:你执行的命令是npm run pacakgr,但你在package.json里定义的脚本名是packagr(注意字母a和c的顺序)——如果这是你实际操作时的拼写错误,那先修正命令为npm run packagr再尝试。如果是提问时的笔误,且执行正确命令后仍出现路径问题,那可以试试下面这些解决方案:
给路径加上当前目录前缀
ng-packagr对相对路径的解析有时会受执行上下文影响,把脚本改成带./的相对路径,能明确告诉工具从项目根目录下的src文件夹找配置文件,避免解析歧义:"packagr": "ng-packagr -p ./src/ng-package.json"确认文件实际存在且路径正确
先手动检查项目根目录下的src文件夹里是否真的有ng-package.json文件,有时候可能是文件名拼写错误(比如写成ng-package.js)、大小写问题,或者文件被误放到了其他子目录。检查ng-packagr版本兼容性
较旧版本的ng-packagr路径解析逻辑可能和新版本有差异,你可以尝试升级到稳定版本:npm install ng-packagr@latest --save-dev升级完成后重新执行脚本,看看路径问题是否解决。
使用绝对路径(极端情况)
如果上面的方法都没用,可以尝试用绝对路径指定配置文件,比如Linux/macOS下:"packagr": "ng-packagr -p /your-project-root/src/ng-package.json"Windows系统则用:
"packagr": "ng-packagr -p C:\\your-project-root\\src\\ng-package.json"不过这种方法不够灵活,项目路径变化后需要修改,优先推荐前面的相对路径方案。
内容的提问来源于stack exchange,提问作者Ashutosh Singh
相关产品推荐
相关产品推荐

