我尝试在 CI 中使用 NX 和 GitHub Actions 来运行我的 Angular 项目的构建,但它失败并出现以下错误:
npm 错误!代码 1 npm 错误!路径 /runner/_work/myapp/node_modules/nx npm 呃!命令失败 npm ERR!命令 sh -c node ./bin/post-install npm 呃! /runner/_womyapp/node_modules/nx/src/native/index.js:244 npm 错误! 抛出 loadError npm 错误! ^ npm 错误! npm 错误!错误:找不到 模块“@nx/nx-linux-x64-gnu”
NX 缺少平台依赖性
Nx CLI 无法找到或加载您的本机二进制文件 支持的平台 (linux-x64)。这可能意味着可选 依赖项未正确安装,或者您的系统丢失 一些系统依赖项。欲了解更多信息,请参阅 https://nx.dev/recipes/troubleshooting/troubleshoot-nx-install-issues
错误:进程已完成,退出代码为 1。
GitHub 上有几个针对此问题的建议解决方案,例如删除
node_modules
和 package-lock.json
并使用 npm install
重新生成它们,但是这些解决方案都不适合我。
我终于找到了用户 k3nsei 指出的对我有用的解决方案:
package.json
文件中(将
18.0.4
nx 版本替换为您正在使用的版本,最好是最新版本):
"optionalDependencies": {
"@nx/nx-darwin-arm64": "18.0.4",
"@nx/nx-darwin-x64": "18.0.4",
"@nx/nx-linux-x64-gnu": "18.0.4",
"@nx/nx-win32-x64-msvc": "18.0.4"
},
npm ci
运行
npm install
或
--include=optional
,例如:
- name: Install dependencies
run: npm ci --include=optional