We’re looking at using ruby on a product and I had a question about how
to package up the ruby interpreter into one
stand-alone directory.
We’d like to have a full ruby interpreter which is not installed on the
device. So that the interpreter can be
downloaded on the fly with the ruby scripts, run, and then potentially
discarded at a later time.
Almost like ruby2exe but i don’t want an exe since we’re a linux box. I
just want a direectory tree which has the
interpreter and all it’s ruby libs, etc. inside.
say the ruby interpreter is in /data/bin/ruby/…
and i have a script foo.rb. I could just run ./data/bin/ruby foo.rb and
have this ruby interpreter run.
That same directory could be located in /data/bin/ruby/XXXX/ or in
another totally different directory as well.
I can include ruby gems by including the gem/lib directory.
But how do I connect the ruby interpreter with it’s /lib/ruby/1.8/…
stuff?
Is that directory hardcoded somewhere in the binary?
Sorry I’m not explaining this concept very clearly.
Thanks for any hints. If this has been discussed before please give me
some keywords to search the archive for. I
couldn’t find anything when I searched.
Can I move /myspecial/dir to /mynewspcial/dir/45 and it still runs just
fine?
Doesn’t this hard-code the locations of those files into the binary
somewhere? I mean, ruby needs to know where to look
for it’s /site/1.8 libs… is that hardcoded, or is it possible that
that is a relative path… how cool would that be.
I guess I have the source so I could change that. Anyone have any idea
where in the ruby source it puts that value?
If I wanted to really make things locked down, I guess that I could
change that to not use any hardcoded paths, and just
make everything relative to the location of the binary. add the binary
directory/…/lib/…
Can I move /myspecial/dir to /mynewspcial/dir/45 and it still runs just
fine?
I do not think so, but why not try?
Doesn’t this hard-code the locations of those files into the binary
somewhere? I mean, ruby needs to know where to look for it’s /site/1.8
libs… is that hardcoded, or is it possible that that is a relative path…
how cool would that be.
I do not know, I just tried it
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.