你的bundle被锁定在mimemagic(0.3.5)上,但这个版本在Gemfile列出的任何源中都找不到。

91
今天我尝试为我的Rails 6.1.0应用程序构建一个带有Active Storage的Docker镜像,但是出现了以下错误:
Your bundle is locked to mimemagic (0.3.5), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of mimemagic (0.3.5) has removed it. You'll need to update your
bundle to a version other than mimemagic (0.3.5) that hasn't been removed in order to install.

现在我正在尝试安装mimemagic

 gem install mimemagic -v 0.3.5

我得到了以下错误:

ERROR:  Could not find a valid gem 'mimemagic' (= 0.3.5) in any repository
ERROR:  Possible alternatives: mimemagic

看起来宝石消失了。有人能解释一下吗?

这个问题的解决方案是什么?


9
我已经移除了 Gemfile.lock 文件并重新运行了 bundle install,这对我来说非常有效。 - Constantin De La Roche
您可以查看此链接 https://exerror.com/your-bundle-is-locked-to-mimemagic-0-3-5-but-that-version-could-not-be-found/;有4种解决方案可用于解决此错误。 - Houndjetode Noukpo Herve
3个回答

164

7
这个答案应该被接受:它可以解决问题,提供了修复的语法、根本原因的解释以及背景文脉的链接。干得好! - 333kenshin
1
事实上,解决方案是移除mimemagic依赖项,并更新gems。由于GPL 2许可证,Rails不再使用mimemagic。 - Paulo Abreu
8
gem 'mimemagic', '~> 0.3.10' 对我也有效。 - Daniel Harvey
27
已发布Rails 5.2.5、6.0.3.6和6.1.3.1版本,移除了mimemagic依赖。 - Ben
4
不确定这个回答创建的时间,但我相信现在有比链接到特定提交更好的方法。我升级到了mimemagic-0.4.3,但0.3.70.3.80.3.90.3.10也应该可以使用。 - x-yuri
显示剩余5条评论

55

尝试删除Gemfile.lock并重新进行bundle,确保您可以实际执行此操作,因为所有的gem将会被更新。在我的Rails 6.1实例中,mimemagic不再使用。完成。

如果无法删除Gemfile.lock,您需要更新mimemagic,因为它们已删除了版本0.3.7以下的所有版本:bundle update mimemagic

更新:我不确定是否清楚,但rails不再使用mimemagic。


4
删除 Gemfile.lock 对我解决了这个问题。 - Fed
2
删除 Gemfile.lock 对我有用,感谢 @FedericoCapaldo。 - Adnan

18
如果你正在使用 macOS
brew install shared-mime-info
bundle update mimemagic

2
没有解释原因,但shared-mime-info将需要用于修复与本机扩展相关的任何更新失败。 - ross_troha
1
尝试 brew install shared-mime-info 但这是一个相当长的安装操作。我建议阅读此链接,并升级和删除依赖项... https://weblog.rubyonrails.org/2021/3/26/marcel-upgrade-releases/ - user2012677

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接