2

This is my very first question here :)

On a rails 3.2.6 (using rvm and ruby 1.8.7), my Gemfile contains two gems that cause problems when using the bundle install command.

Those gems are specified using:

gem 'libv8', "~> 3.11.8.3"
gem 'therubyracer', '~> 0.11.0beta6'

My problem is the following: when running bundle install command, bundler fetches binaries (precompiled) gems (libv8-3.11.8.3-x86_64-linux.gem and therubyracer-0.11.0beta6-x86_64-linux.gem) and not the plain source ones (libv8-3.11.8.3.gem and therubyracer-0.11.0beta6.gem).

The x86_64 version is incompatible with my server setup: included dynamic library uses an unknown symbol (rb_intern2, out of my old memory, I could be wrong) that makes that the precompiled gems cant be loaded by the application.

So that I must install gem from the source packages.

At the moment, I have to bundle install, then remove the precompiled gems from my ~/.rvm/gems/... and then gem install ~/tmp/libv8-3.11.8.3.gem and gem install ~/tmp/therubyracer-0.11.0beta6.gem, which is not very practical.

Is there any way to force Bundler to fetch the sources release and compile them ?

4

1 回答 1

3

尝试:

bundle install --without x86_64-linux

x86_64-linux是一个平台,bundler/rubygems 使用它。

它应该相当于:

gem install libv8 -​-platform ruby

细节:

于 2012-08-19T16:29:47.447 回答