Gem :: InstallError:mime-types-data需要Ruby版本> = 2.0。和Travis-CI

时间:2016-11-18 18:59:19

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

我在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.

我确实查看了堆栈溢出并尝试了所有他们的建议,但似乎没有解决问题。

以下是我目前的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 app时使用sudo

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

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

我正在使用MacOS 10.11.6并使用Homebrew安装了Ruby / Rails环境。

1 个答案:

答案 0 :(得分:0)

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

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

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

Travis有一个本地support for rvm,因此您将确定您的项目所测试的Ruby版本。