Erb


#1

I playing with using ERB in IronRuby and having a little problem. The
code below works fine with Ruby:

require ‘erb’
puts ERB.new(‘hello world’).result

but in IronRuby I get this error:

IronRuby.Libraries:0:in `require’: no such file to load – erb
(LoadError)
from :0

Now if I change the require to this it works:

require ‘C:\ruby\lib\ruby\1.8\erb.rb’
puts ERB.new(‘hello world’).result

I assume my IronRuby config is wrong but how do I fix it?


#2

There should be a line in ir.exe.config that says something like:

  <set language="Ruby" option="LibraryPaths" 

value="…\Languages\Ruby\libs;…\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby\1.8;…\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby;…\External\Languages\Ruby\ruby-1.8.6\lib\ruby\1.8"
/>

These paths need to point to your MRI installation.

Tomas


#3

Hello,

There should be a line in ir.exe.config that says something like:

 <set language="Ruby" option="LibraryPaths" value="..\..\Languages\Ruby\libs\;..\..\..\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby\1.8\;..\..\..\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby\;..\..\..\External\Languages\Ruby\ruby-1.8.6\lib\ruby\1.8\" />

These paths need to point to your MRI installation.

just curious (ie. I don’t need this yet): is there currently a way to
set this programmatically, maybe while instantiating the IronRuby host
?

– Thibaut


#4

var engine = IronRuby.Ruby.CreateEngine((setup) => { setup.Options[“LibraryPaths”] = “…” });

easy - great!

Thanks,

Thibaut


#5

Yes. Something like this should do:

var engine = IronRuby.Ruby.CreateEngine((setup) => {
setup.Options[“LibraryPaths”] = “…” });

engine.Execute(code);

Tomas


#6

Tomas M. wrote:

There should be a line in ir.exe.config that says something like:

  <set language="Ruby" option="LibraryPaths" 

value="…\Languages\Ruby\libs;…\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby\1.8;…\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby;…\External\Languages\Ruby\ruby-1.8.6\lib\ruby\1.8"
/>

These paths need to point to your MRI installation.

Tomas

That worked great! All I had to do is copy the App.Config in the
\Codeplex-DLR-0.9\ folder over to ir.exe.config and add my path. Thanks!