如何解决在 AWS CodeArtifact 中引用私有包时 AWS Amplify 构建出错
我有一个已发布到 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。