【问题标题】:Gem::InstallError: mime-types-data requires Ruby version >= 2.0. and Travis-CIGem::InstallError: mime-types-data 需要 Ruby 版本 >= 2.0。和 Travis-CI
【发布时间】:2016-11-18 18:59:18
【问题描述】:

我在 Travis-CI 中有这个错误:

Using rack 1.6.4
Using arel 6.0.3
Gem::InstallError: mime-types-data requires Ruby version >= 2.0.
Installing debug_inspector 0.0.2
An error occurred while installing mime-types-data (3.2016.0521), and Bundler
cannot continue.
Make sure that `gem install mime-types-data -v '3.2016.0521'` succeeds before
bundling.
The command "eval bundle install --jobs=3 --retry=3 --deployment" failed 3 times.
The command "bundle install --jobs=3 --retry=3 --deployment" failed and exited with 5 during .
Your build has been stopped.

我确实查看了整个 stackoverflow 并尝试了他们的所有建议,但似乎没有解决问题。

这是我当前的 Ruby 版本:

$ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] $ sudo ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]

我有使用 rails 4.2.6 的 rails 我使用一个简单的 Rails 设置只是为了更好地了解它。

在我的.travis.yml

language: ruby

sudo: required

#before_deploy:
#- gem install mime-types -v 2.6.2

-我注释掉了befor_deploy,因为它没有解决问题。

所以我添加了sudo: required,问题似乎解决了。我觉得这很奇怪,因为这是我第一次在使用 rails 应用程序时必须使用 sudo

这是一个理想的解决方案(使用sudo: required)吗?

我已经用了几天了,并不确定为什么。

我使用的是 MacOS 10.11.6,并且我使用 Homebrew 安装了 Ruby/Rails 环境。

【问题讨论】:

    标签: ruby-on-rails ruby travis-ci


    【解决方案1】:

    尝试比较输出 $ ruby -v $ sudo ruby -v

    一般来说,使用版本管理系统是一种很好的做法。 Ruby 有rvm。这允许您为每个项目设置要使用的 ruby​​ 版本。

    安装后,您应该在应用程序的根目录中声明您要使用的版本 ($ rvm use ruby-x.y.z),并创建两个文件 .ruby-version.ruby-gemset 以使您的设置随时可用。

    Travis 有一个原生 support for rvm,因此您可以确定您的项目所针对的 Ruby 版本。

    【讨论】:

    • 感谢您的澄清和建议。我已经安装了 rbenv,所以我会确保将 .travis.yml 修改为我们的 rbenv。我会去阅读有关使用 rbenv 的文档。
    猜你喜欢
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2019-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多