Hey all,
i'd like using, from TextMate, ruby scripts making use of :
require 'xml/libxml'
for the time being i get an error :
LoadError: no such file to load -- xml/libxml
i think i could be coming from $LOAD_PATH (for ruby) not set-up correctly.
i did a ~/.MacOSX/environment.plist
with only the PATH assigned.
does i need to add something equivalent to :
export RUBYOPT=-rrubygems export GEM_HOME=/opt/local/lib/ruby/gems/1.8
being in my zsh init.
or all of those kind of setup could be done thru TextMate setup, but how ?
obviously my script making use of libxml binder is working from terminal.
best,
Yvon
On 9/3/2006, at 8:51, Yvon Thoraval wrote:
[...] does i need to add something equivalent to :
export RUBYOPT=-rrubygems export GEM_HOME=/opt/local/lib/ruby/gems/1.8
being in my zsh init.
Yes, but add it to your ~/.bash_profile or similar (see [1] for what TM sources when running commands).
or all of those kind of setup could be done thru TextMate setup, but how ?
You could also add them to Preferences -> Advanced -> Shell Variables.
[1] http://macromates.com/textmate/manual/shell_commands#search_path
Le 9 mars 06 à 15:45, Allan Odgaard a écrit :
Yes, but add it to your ~/.bash_profile or similar (see [1] for what TM sources when running commands).
or all of those kind of setup could be done thru TextMate setup, but how ?
You could also add them to Preferences -> Advanced -> Shell Variables.
[1] http://macromates.com/textmate/manual/shell_commands#search_path
ok, thanks, i had read that page and, because i'm using a shebang :
#!/usr/bin/env ruby
i've augmented the ~/.MacOSX/environment.plist
having the content :
~%> cat ~/.MacOSX/environment.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http:// www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>GEM_HOME</key> <string>/opt/local/lib/ruby/gems/1.8</string> <key>GROOVY_HOME</key> <string>/Users/yvon/bin/groovy</string> <key>HTML_TIDY</key> <string>/Users/yvon/.tidy.rc</string> <key>LC_CTYPE</key> <string>en_US.UTF-8</string> <key>OSXANT_HOME</key> <string>/Users/yvon/bin/OSXAnt</string> <key>PATH</key> <string>/opt/local/bin:/usr/local/bin:/usr/local/mysql/bin:/ bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/Users/yvon/bin:/ Developer/qt/bin:/usr/local/pgsql/bin:/Users/yvon/bin/groovy/bin</ string> <key>RUBYOPT</key> <string>-rrubygems</string> </dict> </plist>
i've also added a ~/.bash_profile having : [ -f /etc/profile ] && . /etc/profile [ -f ~/.bashrc ] && . ~/.bashrc
export PATH="/opt/local/bin:/usr/local/bin:/usr/local/mysql/bin:/bin:/ usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/Users/yvon/bin:/usr/local/ pgsql/bin:/Users/yvon/bin/groovy/bin:$PATH"
export RUBYOPT="-rrubygems" export GEM_HOME="/opt/local/lib/ruby/gems/1.8"
and finally set the TextMate preferences :
TM_RUBY /opt/local/bin/ruby RUBYOPT -rrubygems GEM_HOME /opt/local/lib/ruby/gems/1.8
i've tested with a simple script ("try.rb") : #!/usr/bin/env ruby
p "#{GEM_HOME}"
i get : NameError: uninitialized constant GEM_HOME at top level in try.rb at line 3
the same arroses with the constant TM_RUBY
however, changing the above script content to : which_ruby=`which ruby`.chomp p "#{which_ruby}" p $LOAD_PATH
i get the correct ruby (dp install) and the correct LOAD_PATH
best,
Yvon