由于 MimeMagic gem 不再存在,无法再捆绑安装我在 Rails 上需要 Paperclip 的所有应用程序?

Can no longer bundle install all of my applications on Rails that require Paperclip due to MimeMagic gem no longer existing?

几周前我有一个程序可以运行,但我将其删除并不得不重新安装我的 ruby 和 rails 环境,现在我无法捆绑安装相同的程序,因为Paperclip 需要 Mimemagic,显然 gems 的工作版本不再存在。 gem 的任何版本都需要这个 freedesktop.org.xml 我去他们的网站下载的东西,但我不明白在 windows 机器上如何安装 freedesktop.org.xml 包这样我就可以再次在 Rails 上使用 Ruby。

有谁知道如何安装 freedesktop.org.xml package/script/whatever 以便 rails 再次正常工作?如果我们的任何应用程序现在崩溃,我们将因此成为一个可怕的地方。我已经搜索了几个小时,所有内容都引用了 MAC 或 Linux,我在 PC 上,我可以找到 NOPLACE,其中包含关于如何在 Windows 10 PC 上执行此操作的易懂说明.

请帮助!

谢谢, 斯科特

更新:我尝试了添加的建议:

gem 'mimemagic',git:'git@github.com:mimemagicrb/mimemagic.git',标签:“v#{[0.3.0]}”

进入gem文件,这是我得到的结果。

[!] There was an error parsing `Gemfile`: unexpected fraction part after numeric literal - . Bundler cannot continue.

 #  from D:/rails/ctrlpanel/Gemfile:22
 #  -------------------------------------------
 #  # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
 >  gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
 #  source 'https://rubygems.org'
 #  -------------------------------------------

我不明白这是什么意思?我也不明白这整个问题? freedesktop.org.xml 东西不能安装在 Windows PC 上吗?这似乎正式杀死了 Windows PC 上 Rails 上的 Ruby?

这个问题可以通过在安装 gem 或 运行ning Bundler 之前设置 FREEDESKTOP_MIME_TYPES_PATH 指向 freedesktop.org.xml 来解决。

示例

步骤 1:
右键单击并将 this file 另存为 freedesktop.org.xmlC:\.

步骤 2:
在当前命令提示符中设置FREEDESKTOP_MIME_TYPES_PATH(不是永久保存):

> set FREEDESKTOP_MIME_TYPES_PATH=C:\freedesktop.org.xml

步骤 3:
从与步骤 2 中相同的提示安装 gem(或 运行 bundle install):

> gem install mimemagic
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
Successfully installed mimemagic-0.4.3
1 gem installed

mimemagic 的旧版本令人恼火地从 rubygems.org 中 硬删除 因为作者意识到该库被错误地授权为 MIT而不是 GPLv2。

该库的更新版本 (v0.3.7+) 正确地 获得 MIT 许可。

I tried the suggestion to add:

gem 'mimemagic', git: 'git@github.com:mimemagicrb/mimemagic.git', tag: "v#{[0.3.0]}"

这在两个方面都行不通:首先,您误解了命题 - 只需要写 tag: 'v0.3.0',但另外,mimemagic 作者似乎也试图掩盖他们的观点通过取消标记 github!!!

中的旧库版本来(合法地)支持

...但是 mimemagic 仍然拥有完整的源代码控制!所以如果你想显式安装旧版本,将它直接固定到 git 提交仍然很容易!!

例如,look here at the project history.

如果您想安装 gem 的 version 0.3.5,您可以将此添加到您的 Gemfile:

gem 'mimemagic', git: 'https://github.com/mimemagicrb/mimemagic', ref: '01f92d86d15d85cfd0f20dabd025dcbd36a8a60f'

使用上面的 link 项目历史记录,应该很容易找到其他版本的参考提交。

但是如上所述,该项目的旧版本被错误地许可为麻省理工学院。如果您无法在您的项目中包含 GPLv2 许可库(我不是律师,这不是法律建议...),您不应该使用这种方法。

有关如何在 Gemfile 中指定 git branches/tags/commits 的更多信息,请参阅文档:https://bundler.io/guides/git.html