【发布时间】:2022-12-15 01:00:47
【问题描述】:
在 AWS CodePipeline 中调用 npm ci 时,我遇到了一些奇怪的行为。
NPM docs 建议在自动化环境中使用 npm ci(“全新安装”)而不是 npm install。
AWS CDK 文档在其CDK pipelines example 中遵循此建议:
const pipeline = new pipelines.CodePipeline(this, 'Pipeline', {
synth: new pipelines.ShellStep('Synth', {
...
commands: [
'npm ci',
'npm run build',
'npx cdk synth',
],
}),
});
但是,当我尝试这样做时,我的管道在 npm ci 命令中失败并出现一条奇怪的错误消息:
[Container] 2022/12/14 16:00:37 Running command npm ci
npm ERR! Cannot read property 'aws-cdk-lib' of undefined
aws-cdk-lib 包是我的package.json 依赖项中的第一个条目。因此,当通过 npm ci 安装时,CodeBuild 似乎无法解析我的依赖项。奇怪的是,当我将 npm ci 替换为 npm install 时一切正常......但我想找到一种方法来使用 npm ci 来完成这项工作。
【问题讨论】:
标签: amazon-web-services npm aws-cdk aws-codepipeline aws-codebuild