Hi all,
We use ruby as part of our development team tools for Windows and Mac
machines. This is maintained internally in an SVN repository where the
platform-specific files are interleaved, i.e. the bin/ directory
contains both a Windows ruby.exe and a Mac ruby executable. This
repository is packaged into installers so we can deploy to our dev team
ensuring that everyone has the correct ruby version and gems.
New gems are installed on an administrator’s machine and SVN added to
the gems folder (and the corresponding gemspec is added to the
specifications folder). Most of these are platform agnostic but we have
a few that are Windows-only, e.g. qtbindings.
This was working fine until trying to get sqlite3 running on both PC and
Mac. The PC version was installed first
(gems/sqlite3-1.3.6-x86-mingw32) and this worked fine. The mingw32
version is PC only so I installed sqlite3 on an OSX machine which added
the new gem to gems\sqlite3-1.3.6.
This new gem conflicts with the PC version, e.g. attempting to require
via IRB on the Mac:
irb(main):001:0> require ‘sqlite3’
LoadError: cannot load such file – sqlite3/sqlite3_native
from
/Users/aallmont/nm/buildtools/ruby/1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
require' from /Users/aallmont/nm/buildtools/ruby/1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
require’
This error goes away if I remove the gems/sqlite3-1.3.6-x86-mingw32
folder on the Mac. There is a similar error on the PC which goes away
if I remove the gems/sqlite3-1.3.6-x86 folder, i.e. they are mutually
exclusive.
I would like to only load gems/sqlite3-1.3.6-x86 when running on the Mac
and only load gems/sqlite3-1.3.6-x86-mingw32 when running on the PC. Is
this possible?
Many thanks,
Alex