微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 AWS CodeArtifact 中引用私有包时 AWS Amplify 构建出错

如何解决在 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 举报,一经查实,本站将立刻删除。