首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能再将我的所有应用程序捆绑在Rails上,因为MimeMagic gem不再存在,所以需要剪纸吗?

不能再将我的所有应用程序捆绑在Rails上,因为MimeMagic gem不再存在,所以需要剪纸吗?
EN

Stack Overflow用户
提问于 2021-04-09 16:20:48
回答 2查看 685关注 0票数 2

几周前,我有一个程序工作了,我把它销毁了,不得不重新安装我的红宝石和rails环境,现在我无法捆绑安装相同的程序,因为Paper剪贴画需要Mimemagic,显然工作版本的gems已经不存在了。gem的任何版本都需要这个freedesktop.org.xml,我到他们的站点下载了这些东西,但是我不明白在windows机器上如何安装freedesktop.org.xml包,以便我可以再次使用Rails。

有谁知道如何安装freedesktop.org.xml包/脚本/什么的,这样rails才能再次正常工作吗?如果我们的任何应用程序现在中断,我们将成为一个可怕的地方,因为这。我已经搜索了几个小时,所有的东西都提到了一个MAC或Linux,我在一台PC上,我找不到任何地方有关于如何在Windows 10 PC上这样做的可以理解的说明。

请帮帮忙!

谢谢你,斯科特

更新:我尝试了这个建议:

宝石'mimemagic',git:'git@github.com:mimemagicrb/mimemagic.git',标签:"v#{0.3.0}“

这就是我得到的结果。

代码语言:javascript
运行
复制
[!] 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上吗?这似乎是在Windows PC上正式杀死Rails吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-09 18:37:51

可以通过在安装gem或运行绑定程序之前将FREEDESKTOP_MIME_TYPES_PATH设置为指向freedesktop.org.xml来解决此问题。

示例

步骤1

右击并将这个文件保存为freedesktop.org.xmlC:\

步骤2

在当前命令提示符(非永久存储)中设置FREEDESKTOP_MIME_TYPES_PATH

代码语言:javascript
运行
复制
> set FREEDESKTOP_MIME_TYPES_PATH=C:\freedesktop.org.xml

步骤3

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

代码语言:javascript
运行
复制
> 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
票数 1
EN

Stack Overflow用户

发布于 2021-04-09 20:51:52

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

最近版本的库(v0.3.7+)被正确地授权为MIT。

我试着补充一下这个建议: 宝石'mimemagic',git:'git@github.com:mimemagicrb/mimemagic.git',标签:"v#{0.3.0}“

这在两个帐户上是行不通的:首先,你误解了这个命题--仅仅写tag: 'v0.3.0'就够了,但除此之外,这位mimemagic作者似乎也试图(合法地)取消github中的旧库版本的标签!

...But mimemagic仍然有完整的源代码管理!因此,如果您想要显式安装旧版本,仍然很容易将它直接钉到git提交!!

例如,项目历史记录中的看这儿

如果您想安装创业板的0.3.5,可以将其添加到Gemfile中。

代码语言:javascript
运行
复制
gem 'mimemagic', git: 'https://github.com/mimemagicrb/mimemagic', ref: '01f92d86d15d85cfd0f20dabd025dcbd36a8a60f'

使用上面指向项目历史的链接,找到其他版本的引用提交应该是相当容易的。

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

有关如何在Gemfile中指定git分支/标记/提交的更多信息,请参见文档:https://bundler.io/guides/git.html

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67024762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档