[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Modifying the PATH envariable

S. Robert James

1/12/2007 10:00:00 AM

Our app invokes some binary executables (imagine `convert image.png`).
In order to make deployment error free, I'd like to include them in our
source tree, and add the paths to the ENV['PATH'] dynamically.

Is there a cross platform way of doing this? Unix uses ':' as a path
separator, Windows uses ';'.

In case you're wondering how the binaries can be cross platform.
Imaging:
/vendor/bin/i386-linux/
/vendor/bin/i386-mswin32/
require 'rbconfig'
add_to_path('vendor/bin/' + Config::CONFIG['arch'] + '/')

Not sure how to compile cross Linux binaries, though - they're often
dependent on the distro and even version. Is it enough to compile them
statically linked?

--
Posted via http://www.ruby-....

2 Answers

S. Robert James

1/13/2007 11:41:00 PM

0

Robert James wrote:
> Our app invokes some binary executables (imagine `convert image.png`).
> In order to make deployment error free, I'd like to include them in our
> source tree, and add the paths to the ENV['PATH'] dynamically.
>
> Is there a cross platform way of doing this? Unix uses ':' as a path
> separator, Windows uses ';'.
>
> Not sure how to compile cross Linux binaries, though - they're often
> dependent on the distro and even version. Is it enough to compile them
> statically linked?

Can anyobdy get me started with this?

--
Posted via http://www.ruby-....

Jano Svitok

1/13/2007 11:56:00 PM

0

On 1/14/07, Robert James <srobertjames@gmail.com> wrote:
> Robert James wrote:
> > Our app invokes some binary executables (imagine `convert image.png`).
> > In order to make deployment error free, I'd like to include them in our
> > source tree, and add the paths to the ENV['PATH'] dynamically.

If it's in the source tree, maybe you can use full paths in the invocation.

> > Is there a cross platform way of doing this? Unix uses ':' as a path
> > separator, Windows uses ';'.

File::PATH_SEPARATOR, http://www.rubycentral.com/book/ref_c...
ENV['PATH'] << File::PATH_SEPARATOR << 'new.dir'

See also File::SEPARATOR and File#join

> > Not sure how to compile cross Linux binaries, though - they're often
> > dependent on the distro and even version. Is it enough to compile them
> > statically linked?
>
> Can anyobdy get me started with this?