在 AWS CodeArtifact 中引用私有包时 AWS Amplify 构建出错
Error in AWS Amplify build when referencing private package in AWS CodeArtifact
我有一个已发布到 AWS CodeArtifact 的私有 npm 包,因此我可以在 ReactJS 应用程序和 NodeJS/Express API 应用程序中使用它。
此包的版本 1.0.0 已发布到 CodeArtifact。
在我的 ReactJS 应用程序中,我在 package.json 中有一个依赖项,如 "@name-space/name-of-package": "^1.0.0"
我已经更改了@name-space 的注册表以指向 CodeArtifact URL。对于所有其他包,我仍在使用默认的 NPM 注册表 (https://registry.npmjs.com)。我在我的 ReactJs 项目中通过 .npmrc 文件配置了这个。
当我尝试通过 AWS Amplify 部署我的 ReactJS 应用程序时,我在构建中遇到错误:
错误!无效版本:^1.0.0
我对在这里使用的几乎所有内容都是新手 - 创建私有包、CodeArtifact 和 Amplify,所以我不确定我是否遗漏了任何步骤。
我尝试从 ReactJS package.json 的版本中删除“^”,但我得到 ERR!尝试构建时版本无效:1.0.0。
知道如何消除此错误并成功构建通过 Amplify 部署的 ReactJS 应用程序吗?
您还需要更新 amplify.yml
才能登录 CodeArtifact。这是一个例子...
frontend:
phases:
preBuild:
commands:
- pip3 install awscli --upgrade --user
- aws codeartifact login --tool npm --repository repository_name --domain domain_name --domain-owner domain_owner_id
- npm ci
我有一个已发布到 AWS CodeArtifact 的私有 npm 包,因此我可以在 ReactJS 应用程序和 NodeJS/Express API 应用程序中使用它。
此包的版本 1.0.0 已发布到 CodeArtifact。
在我的 ReactJS 应用程序中,我在 package.json 中有一个依赖项,如 "@name-space/name-of-package": "^1.0.0"
我已经更改了@name-space 的注册表以指向 CodeArtifact URL。对于所有其他包,我仍在使用默认的 NPM 注册表 (https://registry.npmjs.com)。我在我的 ReactJs 项目中通过 .npmrc 文件配置了这个。
当我尝试通过 AWS Amplify 部署我的 ReactJS 应用程序时,我在构建中遇到错误: 错误!无效版本:^1.0.0
我对在这里使用的几乎所有内容都是新手 - 创建私有包、CodeArtifact 和 Amplify,所以我不确定我是否遗漏了任何步骤。
我尝试从 ReactJS package.json 的版本中删除“^”,但我得到 ERR!尝试构建时版本无效:1.0.0。
知道如何消除此错误并成功构建通过 Amplify 部署的 ReactJS 应用程序吗?
您还需要更新 amplify.yml
才能登录 CodeArtifact。这是一个例子...
frontend:
phases:
preBuild:
commands:
- pip3 install awscli --upgrade --user
- aws codeartifact login --tool npm --repository repository_name --domain domain_name --domain-owner domain_owner_id
- npm ci