'env ruby -v' returns nothing

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 1/16/06, Sean H. [email protected] 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.

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?!