我在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环境。
答案 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版本。