Ruby on rails 由于不再存在MimeMagic gem,无法将我的所有应用程序捆绑安装在需要回形针的Rails上?
几周前我有一个可以运行的程序,我把它删除了,不得不重新安装我的ruby和rails环境,现在我不能捆绑安装同一个程序,因为回形针需要Mimemagic,而且显然gems的工作版本已经不存在了。任何版本的gem都需要这个freedesktop.org.xml,我去了他们的网站下载了它,但我不知道如何在windows机器上安装freedesktop.org.xml包,这样我就可以再次使用Ruby-on-Rails了 有人知道如何安装freedesktop.org.xml包/script/不管它是什么,以便rails再次正常工作吗?如果我们的任何应用程序现在坏了,我们将因此成为一个可怕的地方。我已经搜索了好几个小时,所有的东西都参考了MAC或Linux,我在一台PC上,我能找到一个地方,那里有可以理解的说明,说明如何在Windows10 PC上这样做 请帮忙 谢谢,, 斯科特 更新:我尝试建议添加:Ruby on rails 由于不再存在MimeMagic gem,无法将我的所有应用程序捆绑安装在需要回形针的Rails上?,ruby-on-rails,ruby,paperclip,mimemagic,Ruby On Rails,Ruby,Paperclip,Mimemagic,几周前我有一个可以运行的程序,我把它删除了,不得不重新安装我的ruby和rails环境,现在我不能捆绑安装同一个程序,因为回形针需要Mimemagic,而且显然gems的工作版本已经不存在了。任何版本的gem都需要这个freedesktop.org.xml,我去了他们的网站下载了它,但我不知道如何在windows机器上安装freedesktop.org.xml包,这样我就可以再次使用Ruby-on-Rails了 有人知道如何安装freedesktop.org.xml包/script/不管它是什么
gem 'mimemagic', git: 'git@github.com:mimemagicrb/mimemagic.git', tag: "v#{[0.3.0]}"
宝石'mimemagic',吉特:'git@github.com:mimemagicrb/mimemagic.git',标签:“v{[0.3.0]}”
这是我得到的结果
[!] 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'
# -------------------------------------------
我不明白这是什么意思?我也不明白整个问题?没有办法在Windows PC上安装freedesktop.org.xml吗?这似乎正式扼杀了Windows PC上的Ruby on Rails?在安装gem或运行Bundler之前,通过将
FREEDESKTOP\u MIME\u TYPES\u PATH
设置为指向FREEDESKTOP.org.xml
,可以解决此问题
示例:
步骤1:右键单击并另存为
freedesktop.org.xml
至C:\
步骤2:在当前命令提示符中设置
FREEDESKTOP\u MIME\u TYPES\u PATH
(未永久存储):
步骤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
我试图在建议中添加以下内容:
gem 'mimemagic', git: 'git@github.com:mimemagicrb/mimemagic.git', tag: "v#{[0.3.0]}"
这在两个方面是行不通的:首先,你误解了这个命题——只需要写标签:“v0.3.0”
,但除此之外,mimemagic
作者似乎还试图通过在github中取消旧库版本的标签来掩盖(法律上的)他们的秘密
…但是mimemagic仍然有完整的源代码控制!所以,如果你想显式地安装一个旧版本,直接将它绑定到git提交还是很容易的
例如,在项目历史记录中
如果要安装gem,可以将其添加到gem文件中
:
gem 'mimemagic', git: 'https://github.com/mimemagicrb/mimemagic', ref: '01f92d86d15d85cfd0f20dabd025dcbd36a8a60f'
使用上面指向项目历史的链接,应该很容易找到其他版本的引用提交
然而如上所述,该项目的旧版本被错误地授权为MIT。如果您无法在项目中包含GPLv2许可库(我不是律师,这不是法律建议…),则不应使用此方法
有关如何在
Gemfile
中指定git分支/标记/提交的更多信息,请参阅文档:最好按照建议前进并迁移到ActiveStorage。也就是说,github回购协议目前仍然存在,因此您现在可以参考它,例如,gem'mimemagic',git:'git@github.com:mimemagicrb/mimemagic.git',标签:“v{[版本号]}”
。非常清楚地解释了安装过程。下载,放置在适当的位置,设置环境变量定位XML文件的代码如下:。我建议手动设置FREEDESKTOP\u MIME\u TYPES\u PATH
,然后将XML文件放在该位置,然后启动Rails应用程序。谢谢@Casper,现在我该如何使用该代码?这是我放在机器上用ruby和那个文件运行的东西吗?或者我该如何使用该代码?这是mimemagic的替代品吗?如果是,我应该把它放在一个文件中并保存为mimemagic.rb吗?我对Rails非常陌生,正在尝试修复一个已损坏的旧应用程序。当你说设置FREEDESKTOP\u MIME\u TYPES\u路径时,你说的是windows系统变量吗?如果是的,XML文件本身在哪里,我把它放在哪里,它提到了一个“适当的位置”,我不知道这是什么意思?你误解了这个标记:“v{[0.3.0]}”
应该是标记:“v0.3.0”
我只是用{[VERSION NUMBER]}
作为占位符。也就是说,“0.3.0”不是github上的可用版本。github上标记的最旧版本是“0.3.7”,谢谢@engineersmnky,但是我将这一行添加到了我的gem文件中,它永远不会出现在这个提示符下:$bundle install Fetchinggit@github.com:mimemagicrb/mimemagic.git我做错了什么?我确实去下载了源代码,有没有办法在本地导入?我从未在本地进口过这样的宝石?如果你可以的话,我该怎么做呢?我只是把它解压缩,然后指向一个位置或者其他地方?谢谢你的帮助Answer@Capser,现在从哪里获取freedesktop.org.xml文件?我从网站下载了源代码,我也下载了源代码,但是没有freedesktop.org.xml文件?从哪里可以获取此XML文件?我完全理解其余的?不知怎么的,我只是在他们的网站上错过了它吗?请查看我的最新答案。我在步骤1中添加了一个Ubuntu安装的副本作为可下载链接。谢谢@Casper!!!!!!我非常感谢你的帮助!作为后续问题,我现在是否可以保存