我正在尝试在Codebuild上运行一个Jekyll博客。在本地没有问题,但是当尝试在Codebuild上运行它时,它一直困在这个:
您的软件包已锁定到eventmachine(1.2.3),但在Gemfile中列出的任何来源中找不到该版本。如果您没有更改源,则表示eventmachine(1.2.3)的作者已将其删除。您需要将捆绑软件更新为不同版本的eventmachine(1.2.3),该版本尚未被删除才能安装。
但是,源代码是普通的rubygems,我检查了版本是否存在而且确实存在。我认为这可能是AWS codebuild中的一个错误,但我认为在这里发布会很好。有没有人有类似的问题?欢迎任何帮助。我已尝试以下方法来解决它:
1)删除Gemfile Lock
2)在Gemfile上设置特定版本。
Bundle在本地工作正常
答案 0 :(得分:2)
您可以在本地复制并解决问题,并找出CodeBuild映像中构建失败的原因。这可以使用CodeBuild的Docker镜像完成,可以使用https://github.com/aws/aws-codebuild-docker-images提供的Dockerfiles创建。该存储库中也提供了创建这些图像的说明。
创建映像后,您可以从容器中的主机安装代码,然后在容器内运行构建命令。例如:
docker run -it -v /your/project/location:/code aws/codebuild/ruby-2.3.1 bin/bash
然后在容器内部,您可以针对/code
处提供的源代码执行构建命令。