pozza
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?
pozza
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
pozza
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
pozza
5
Yes. Something like this should do:
var engine = IronRuby.Ruby.CreateEngine((setup) => {
setup.Options[“LibraryPaths”] = “…” });
engine.Execute(code);
Tomas
pozza
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!