installing to home directory
Added by Suraj Kurapati over 13 years ago
Hello,
I tried installing subtle (from hg clone) to my home directory as follows:
rake config prefix=$HOME/app/subtle sysconfdir=$HOME/app/subtle/etc extdir=$HOME/app/subtle/ruby && rake install
Then I set my RUBYLIB environment variable to the extdir value above:
export RUBYLIB=$HOME/app/subtle/ruby
Now when I run `sur`, it gives an error:
sur >>> ERROR: Couldn't find the gem `subtle-sur-version' >>> Please install it with following command: >>> gem install subtle-sur-version
However, Ruby can see the installed Subtle libraries just fine:
irb ### ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux] >> $:.first "/home/sunny/app/subtle/ruby" >> require 'subtlext' true >> require 'sur/version' true
Thanks for your consideration.
Replies (3)
RE: installing to home directory - Added by Christoph Kappel over 13 years ago
Generally subtle uses the prefix etc. variables to install executable and shared files and uses the information ruby provides for the ruby related files. (site_ruby and libdir) When you run rake like this you install the files into your destination, but still the ruby destination paths are related to your actual ruby environment. Overriding this is a bad idea, since it would force every user to manually add the path to the ruby lib path.
So if you add the export it works right for your irb, but not for subtle or sur in this case. Easiest way to bypass that issue is to add that export to your shell startup files like .zshrc for zsh or .bashrc for bash. I don't think it is a good idea to make it easier to override systems default set by the environment, although I could do that in the rakefile.
I will check if that works as expected and post my results.
RE: installing to home directory - Added by Suraj Kurapati over 13 years ago
Interesting, I will put the export in my ~/.profile
file. For now, I gave up on this approach and just did a normal rake install
as root.
However, I wonder: How do you test changes to subtle, Christoph? Is there a way to run subtle directly from the compilation directory, or do you have to run rake install every time?
RE: installing to home directory - Added by Christoph Kappel over 13 years ago
I have some scripts that set the required path to work just from the builddir, subtle uses the XDG path and therefore it is really easy to change the whole thing just by changing some env variables. My scripts usually look like this one for sur:
sur.sh¶
#!/bin/zsh
export RUBYLIB="./data:./debug/ruby"
export RUBYPATH="./data:./debug/ruby"
export DLN_LIBRARY_PATH="./data:./debug/ruby"
export XDG_DATA_HOME="./debug/data"
export XDG_CONFIG_HOME="./debug/config"
export XDG_CACHE_HOME="./debug/cache"
ruby ./data/bin/sur $*