【问题标题】:Travis reports odd message of corrupted Gemfile.lockTravis 报告了损坏的 Gemfile.lock 的奇怪消息
【发布时间】:2015-12-14 20:48:50
【问题描述】:

我正在使用 bundler 安装东西,由于我添加了 Gemfile.lock,travis 开始抱怨:

Your Gemfile.lock is corrupt. The following gem is missing from the DEPENDENCIES
section: 'echoe'

当然,一切都在本地运行。它也可以使用DeployBot。我什至安装了docker ubuntu并尝试了,仍然可以。我的Gemfile.lock 没有损坏。使用相同版本的 ruby​​ 和 bundler。

发生了什么事?

更新

这与捆绑器版本有关。我使用 1.11.0,但得到报告说它可以与例如。 1.8.3. ??

【问题讨论】:

  • 您是否忘记提交新的Gemfile.lock
  • 没有。实际上这发生在 gemfile.lock 提交之后。
  • 抱歉@Jordan 刚刚更新了问题

标签: ruby bundler travis-ci


【解决方案1】:

由于最近发布了新的捆绑程序版本,我们今天在 Buildkite 上看到了一个非常相似的问题 https://rubygems.org/gems/bundler/versions/1.11.0

我们通过规定要安装的捆绑器版本来使构建工作。

gem install -v 1.10.6 bundler --no-rdoc --no-ri

并强制使用它

bundle _1.10.6_ install

【讨论】:

  • 谢谢,这真的成功了!我尝试使用 1.10.0 但由于某种原因它失败了,但是当我将您上面所说的内容放在我的 travis.yml 中时,它起作用了!
  • 我卸载了以前的版本并安装了 1.10.6,它对我有用。不必强制捆绑器使用特定版本。谢谢。
  • @игор, @s01ipsist,我可以看看你在.travis.yml 中是如何指定它的。发布的答案还没有为我工作,我认为我在我的 travis 文件中使用了错误的语句。
【解决方案2】:

首先,移除gem lock文件:

rm -f Gemfile.lock

然后安装依赖:

bundle install

您可以更新依赖关系以确保不会出错:

bundle update

【讨论】:

  • 我已经提交了从rm 中删除-r 标志的编辑,因为这不是删除单个文件所必需的,并且可能会鼓励使用它删除任何文件的不良做法错误输入命令并递归删除整个目录的可能性更大。
猜你喜欢
  • 1970-01-01
  • 2012-11-12
  • 2011-08-20
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多