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 <mri>\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 Delaney 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 Borde <[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 Deville
Sent: Thursday, March 26, 2009 2:56 PM
To: Shri Borde; [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 Borde
Sent: Thursday, March 26, 2009 2:52 PM
To: Shri Borde; [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 Borde
Sent: Thursday, March 26, 2009 2:06 PM
To: Shri Borde;
'[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 Borde
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 Carrero
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 Borde <[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 Carrero
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 Borde
<[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
-----Original Message-----
From:
[email protected]<mailto:[email protected]>
[mailto:[email protected]<mailto:[email protected]>]
On Behalf Of Michael Delaney
Sent: Thursday, March 26, 2009 8:57 AM
To: [email protected]<mailto:[email protected]>
Subject: [Ironruby-core] require 'spec' not working
hi,
i've downloaded the latest ironruby 0.3 and built it locally.
its in my path
GEM_PATH C:\ruby\lib\ruby\gems\1.8\gems
PATH c:\ruby\bin;C:\ironruby\Merlin\Main\bin\Debug
File: product_spec.rb
require 'rubygems'
require 'spec'
require File.dirname(__FILE__) +
'/IronRubyInterop/IronRubyInterop/bin/Debug/IronRubyInterop.dll'
describe IronRubyInterop::Product do
it "should have a name" do end
it "should have a category"
it "should have product lines"
end
running ir product_spec.rb
i get:
D:\IronRuby\RSpec>ir product_spec.rb
:0:in `require': no such file to load -- spec (LoadError)
from custom_require.rb:26:in `require'
from product_spec.rb:0
Is there anything I'm missing???
Regards.
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
[email protected]<mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core