Hi everyone, I''m trying to figure out why rubygems won't install correctly on this particular RHEL4 box, but it does on others. Obviously, it's an environment issue, but I can't track down where. here are some details: Compiling ruby 1.8.4 on 6 RHEL4 machines. 5 were ok. The one I do the most dev on is not. Ruby works fine, but rubygems does not: # gem -v /usr/local/bin/gem: line 3: require: command not found /usr/local/bin/gem: line 4: Gem.manage_gems: command not found /usr/local/bin/gem: line 6: syntax error near unexpected token `(' /usr/local/bin/gem: line 6: `required_version = Gem::Version::Requirement.new(">= 1.8.0")' gem installs with '/usr/bin/env ruby' as the default startup line, but running this myself returns zilch: # /usr/bin/env ruby # /usr/bin/env ruby -v # which gem /usr/local/bin/gem # which ruby /usr/local/bin/ruby # Changing the shebang line in /usr/local/bin/gem to use /usr/local/bin/ruby works as far as gem -v goes, but I'm afraid to use it if I don't know what env vars it might use otherwise. I have no ruby-based rpms installed anymore (I did once, but they haven't been updated since 1.8.1, so I scrapped them). I've rm -rf'ed the entire ruby distribution and started from scratch, so I'm thinking it must be environment. Does anybody have a suggestion as to what could cause this? I see no obvious discrepancies between this machine and any of the other 5. Where should I look next? Thank you! Sean
on 2006-01-16 17:18
on 2006-01-16 18:28
On 1/16/06, Sean H. <email@example.com> wrote: > # /usr/bin/env ruby > # /usr/bin/env ruby -v > # which gem > /usr/local/bin/gem > # which ruby > /usr/local/bin/ruby > > Changing the shebang line in /usr/local/bin/gem to use > /usr/local/bin/ruby works as far as gem -v goes, but I'm afraid to use > it if I don't know what env vars it might use otherwise. It certainly does sound like an environment issue. My guess is the PATH doesn't include /usr/local/bin, but if you can run 'gem' that couldn't be it. Try running '/usr/bin/env' (without the 'ruby -v') on each machine. This prints out the current environment and you can compare to find the environment differences. Jacob F.
on 2006-01-17 02:09
Whoa. Check this out. On one of the "good" machines (some info snipped): # /usr/bin/env HOSTNAME=blah TERM=xterm-color SHELL=/bin/bash HISTSIZE=100 SSH_CLIENT=::ffff:10.4.74.75 49771 22 SSH_TTY=/dev/pts/0 USER=root LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35: MAIL=/var/spool/mail/root PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/libexec:/root/bin INPUTRC=/etc/inputrc PWD=/root LANG=en_US.UTF-8 SHLVL=1 HOME=/root LESSOPEN=|/usr/bin/lesspipe.sh %s G_BROKEN_FILENAMES=1 _=/usr/bin/env # Now, on the "bad" machine: # /usr/bin/env # Huh?!