Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 由于不再存在MimeMagic gem,无法将我的所有应用程序捆绑安装在需要回形针的Rails上?_Ruby On Rails_Ruby_Paperclip_Mimemagic - Fatal编程技术网

Ruby on rails 由于不再存在MimeMagic gem,无法将我的所有应用程序捆绑安装在需要回形针的Rails上?

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/不管它是什么

几周前我有一个可以运行的程序,我把它删除了,不得不重新安装我的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上这样做

请帮忙

谢谢,, 斯科特

更新:我尝试建议添加:

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!!!!!!我非常感谢你的帮助!作为后续问题,我现在是否可以保存