Hi, thanks to the Shebang my /usr/local/somewhere/over/the/rainbow.rb
get ruby interpretor launched automagically.
BUT, because I need it very often I’ve created a /usr/local/bin/rainbow
symlink to it.
Now, the require in rainbow.rb no more finds the files in
/usr/local/somewhere/over/the/lib directory. So, I used absolute path
and it’s fine, but francky I don’t like absolute paths because anybody
should be able to put and use rainbow.rb on any directory
How can I do to have both this nice symlink without losing relative
require ?
How can I do to have both this nice symlink without losing relative require
You could try to construct the “real” path with the help of
File.symlink? and File.readlink.
Personally, I wouldn’t bother. There are a couple of install options
that, depending on the situation, make much more sense and
are less brittle:
If you want to make install convenient for other Ruby developers,
make a gem. (And if they don’t like a gem they’ll know how to unpack
it and scatter the files all over their harddrives anyway they please.)
If you want to distribute to Linux/Unix users in general, make
a deb or RPM or whatever package.
If you want to give the program to people who have little
computer knowledge, try RubyScript2Exe
(http://www.erikveen.dds.nl/rubyscript2exe/). That packs
everything into a single clickable executable.
If you want to give the program to people who have little
computer knowledge, try RubyScript2Exe
(http://www.erikveen.dds.nl/rubyscript2exe/). That packs
everything into a single clickable executable.
Thanks, I’ll give File.readlink a look - You’re right about using an
adequate packaging solution, except that the final user is me This
is for a program that I often upgrade and which is runned on 2 machines
having different directory structures - I would like to avoid the
tedious task of modifying the source after every upgrade
Thanks, I’ll give File.readlink a look - You’re right about using an
adequate packaging solution, except that the final user is me This is
for a program that I often upgrade and which is runned on 2 machines having
different directory structures - I would like to avoid the tedious task of
modifying the source after every upgrade
There are projects like hoe that automate the creation of a gem for
you - you could combine that with a rake task that installs the newly
created gem on both your machines every time you make one.
martin
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.