I am writing a gem and I'm targeting Ruby, JRuby, and Rubinius. I'm using Travis CI to build my library. When I target Ruby and JRuby, my gem builds correctly, but when targeting Rubinius, it does not work. Here is the error:
Using worker: worker-linux-2-2.bb.travis-ci.org:travis-linux-13 git.1 $ git clone --depth=50 --branch=master git://github.com/maxgale/actor.git maxgale/actor Cloning into 'maxgale/actor'... remote: Counting objects: 74, done. remote: Compressing objects: 100% (48/48), done. remote: Total 74 (delta 29), reused 64 (delta 22) Receiving objects: 100% (74/74), 12.06 KiB | 0 bytes/s, done. Resolving deltas: 100% (29/29), done. Checking connectivity... done. $ cd maxgale/actor git.3 $ git checkout -qf f83f26d85f69e9c2965a4faa2065dd37ac789c36 $ rvm use rbx --install --binary --fuzzy rbx is not installed - installing. Searching for binary rubies, this might take some time. Requested binary installation but no rubies are available to download, consider skipping --binary flag. Gemset '' does not exist, 'rvm rbx do rvm gemset create ' first, or append '--create'. The command "rvm use rbx --install --binary --fuzzy" failed and exited with 2 during setup. Your build has been stopped.
Here is my .travis.yml
file:
language: ruby
cache: bundler
gemfile:
- gemfiles/Gemfile.travis
rvm:
- 2.0.0
- 1.9.3
- jruby-19mode
- rbx
gemfiles/Gemfile.travis
:
platforms :rbx do
gem 'rubysl', '~> 2.0'
end
eval_gemfile File.expand_path('../../Gemfile', __FILE__)
My normal Gemfile
:
source 'https://rubygems.org'
gemspec path: File.expand_path('../', __FILE__)
I was able to solve this problem by targeting rbx-2
instead of rbx
. My .travis.yml
ended up looking like this:
language: ruby
cache: bundler
gemfile:
- gemfiles/Gemfile.travis
rvm:
- 2.0.0
- 1.9.3
- jruby-19mode
- rbx-2