I changed
http://www.ironruby.net/index.php?title=Documentation/How_do_I_install_additional_gems%3F
as such:
- Do not share gems with MRI - By default, RubyGems looks in
different locations for each Ruby implementation. For IronRuby, it would
look in c:\ironruby\lib\ironruby\gems\1.8 assuming ir.exe exists in
c:\ironruby\bin. In this case, you will need to install all gems you
want to use with IronRuby using igem.bat (c:\ironruby\bin\igem.bat).
- Share gems with MRI - Set the GEM_PATH environment variable in your
user profile to point to your \lib\ruby\gems\1.8 directory, e.g.
c:\ruby\lib\ruby\gems\1.8. This allows sharing of gems with MRI.
IronRuby also includes igem.bat which runs gems with IronRuby. This can
be used to install IronRuby-specific gems.
* Note that the GEM_HOME environment variables controls where new
gems will be installed by running igem.bat. Unless you set this to match
GEM_PATH, note that gems installed by “igem.bat” may not be usable from
IronRuby [need to check if this is true or not]. And if you set GEM_PATH
to include the location of IronRuby gems, MRI will be able to find them
as well.
Either option is valid.
Thanks,
Shri
From: [email protected]
[mailto:[email protected]] On Behalf Of Ivan Porto
Carrero
Sent: Thursday, March 26, 2009 3:23 PM
To: [email protected]
Subject: Re: [Ironruby-core] require ‘spec’ not working
Actually I don’t want to use gems installed by ruby… that doesn’t make
sense to me. I will install duplicates if I need it. I actually want
the default behavior 
I was replying to the question of Michael D. on how he couldn’t get
the rspec gem to run
And because he was setting GEM_PATH I tried to
explain that he doesn’t need to do that anymore. And then showed how it
just works for me without setting a gem_path or anything.
It seems that there is confusion on how people need to use gems with
ironruby, because of earlier blog posts when you needed to use the gems
from ruby. There is also a wiki on github for a gem that explains it to
do it that way.
Also if I wanted to use a non-standard layout for my dirs it would make
sense to me to have to set GEM_PATH or IGEM_PATH.
2009/3/26 Shri B.
<[email protected]mailto:[email protected]>
Ah yes, gemrc is declarative, not Ruby code which could do things
differently depending on the ruby implementation. I got distracted about
it not working with “require ‘some_gem’â€, and forgot about this fact.
Leaving it with separate directories does not allow IronRuby to use gems
installed by Ruby, which would be nice. Ivan’s scenario is where he
wants IronRuby to use a gem installed by MRI, but not vice versa.
It does beg the question why you would want to do such a thing? Ivan,
can you explain your motivation? Today people can either keep their gems
completely separate (the default behavior if GEM_PATH is not set), or
can chose to share everything in both directions. This should work
reasonably well most of the time. Would be nice to just leave it at that
since it’s a simple solution. For scenarios where you want more control,
the user can do something specific to the solution. For example,
http://www.mail-archive.com/[email protected]/msg02295.html
describes how you could copy lib\rubygems\default.rb.
Thanks,
Shri
From: Jim D.
Sent: Thursday, March 26, 2009 2:56 PM
To: Shri B.;
[email protected]mailto:[email protected]
Subject: RE: [Ironruby-core] require ‘spec’ not working
Gemrc gets used by both gem and igem, so that might still not work.
Jimmy’s solution might be the best so far (leaving it with the separate
directories).
JD
From: Shri B.
Sent: Thursday, March 26, 2009 2:52 PM
To: Shri B.;
[email protected]mailto:[email protected]
Subject: RE: [Ironruby-core] require ‘spec’ not working
The solution seems to be using a gemrc file.
http://blogs.sun.com/mandy/entry/rubygems_etc_gemrc describes the file,
but says that it is only used by the gem command, and not honored by a
“require ‘somgem’â€. However,
http://rubyforge.org/pipermail/rubygems-developers/2008-September/004056.html
says that this was a bug and has been fixed.
From: Shri B.
Sent: Thursday, March 26, 2009 2:06 PM
To: Shri B.;
‘[email protected]mailto:[email protected]’
Subject: RE: [Ironruby-core] require ‘spec’ not working
I realized that this would only work for the igem.bat command and not
while running a program which does “require rubygemsâ€. We can figure out
some way to get ir.exe to pick this up as well, like adding code to
%HOME%.irconfig.rb. Tomas, do we still support .irconfig.rb? I couldn’t
find anything while grepping the sources.
Thanks,
Shri
From: Shri B.
Sent: Thursday, March 26, 2009 1:48 PM
To: [email protected]mailto:[email protected]
Subject: RE: [Ironruby-core] require ‘spec’ not working
Could you change your igem.bat to the following, and set
IRONRUBY_GEM_PATH, and then see if it works as you like? This would
allow having different GEM_PATHs for MRI and for IronRuby.
@echo off
setlocal
if defined IRONRUBY_GEM_PATH (
set GEM_PATH=%IRONRUBY_GEM_PATH%
)
@“ir.exe” “%~dpn0” %*
Thanks,
Shri
From:
[email protected]mailto:[email protected]
[mailto:[email protected]mailto:[email protected]]
On Behalf Of Ivan Porto C.
Sent: Thursday, March 26, 2009 1:42 PM
To: [email protected]mailto:[email protected]
Subject: Re: [Ironruby-core] require ‘spec’ not working
igem env gives you all the paths rubygems look in
I actually want a separate list of gems for IronRuby and my Ruby install
hence I added a different subdir as my gem path for ironruby.
2009/3/26 Shri B.
<[email protected]mailto:[email protected]>
You should not be editing ir.exe.config as you would end up adding new
paths for every new library you want to use, which would not be a good
thing. Using GEM_PATH is the right solution as you would be using the
power of rubygems to find the gems.
You should run “igem query --local --name-matches spec†to make sure
that RubyGems will indeed be able to find the gem. I wish there was a
verbose mode where gem could tell you the paths it looked in, but I
don’t see anything at http://docs.rubygems.org/read/chapter/10#page35.
Does anyone know of a verbose option?
Thanks,
Shri
From:
[email protected]mailto:[email protected]
[mailto:[email protected]mailto:[email protected]]
On Behalf Of Ivan Porto C.
Sent: Thursday, March 26, 2009 12:59 PM
To: [email protected]mailto:[email protected]
Subject: Re: [Ironruby-core] require ‘spec’ not working
Hi
Did you edit your ir.exe.config to point to the right gems dir?
I don’t think you still need to set the GEM_PATH do you?
It works for me and all I do is edit the ir.exe.config to point to the
right directories. I am on the git layout so my paths won’t make sense
for you.
When I did that I could do
igem list
*** LOCAL GEMS ***
igem install rspec
Thank you for installing rspec-1.2.2
Please be sure to read History.rdoc and Upgrade.rdoc
for useful information about this release.
Successfully installed rspec-1.2.2
1 gem installed
Installing ri documentation for rspec-1.2.2…
Installing RDoc documentation for rspec-1.2.2…
Could not find main page README.rdoc
Could not find main page README.rdoc
Could not find main page README.rdoc
Could not find main page README.rdoc
ir
IronRuby 0.3.0.0 on .NET 2.0.50727.3074
require ‘rubygems’
=> true
require ‘spec’
=> true
true.should == true
=> true
exit
On Thu, Mar 26, 2009 at 8:17 PM, Shri B.
<[email protected]mailto:[email protected]> wrote:
Does it work with MRI (not the IronRubyInteorp part ofcourse)? Where do
you expect spec.rb to be loaded from? I don’t have spec.rb on my
machine.
Thanks,
Shri