Ubuntu 11.10をインストールしてRuby1.8.7を完全に削除し、ソースからRuby1.9.2-p290をインストールした後、rubygems1.8.10をインストールしました。ここで私は、インストールのために走ったスクリプトは...だすべてのパスが正しいと思われるにもかかわらず、Rubyが宝石を見つけることができません...
#!/bin/bash
#===============================================================================
#
# FILE: install_ruby_1.9.sh
#
# USAGE: ./install_ruby_1.9.sh
#
# AUTHOR: Ryan Schulze (rs), [email protected]
# CREATED: 07/07/2011 11:59:37 AM CDT
#===============================================================================
Version="1.9.2-p290"
GZFile="ruby-${Version}.tar.gz"
Download="http://ftp.ruby-lang.org/pub/ruby/1.9/${GZFile}"
if [[ "$(id -u)" != "0" ]]
then
echo "You need root permission to execute this script"
exit
fi
apt-get -q update
apt-get -qy upgrade
apt-get install -qy build-essential wget zlib1g-dev libssl-dev libffi-dev autoconf
cd /usr/local/src/
test -e ${GZFile} || wget ${Download}
tar -xzf ${GZFile}
cd ruby-${Version}
autoconf
./configure --with-ruby-version=${Version} --prefix=/usr --program-suffix=${Version}
make
make install
mkdir -p /usr/lib/ruby/gems/${Version}/bin
update-alternatives \
--install /usr/bin/ruby ruby /usr/bin/ruby${Version} $(echo ${Version//./}|cut -d- -f1) \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby${Version}.1 \
--slave /usr/lib/ruby/gems/bin gem-bin /usr/lib/ruby/gems/${Version}/bin \
--slave /usr/bin/irb irb /usr/bin/irb${Version} \
--slave /usr/bin/gem gem /usr/bin/gem${Version} \
update-alternatives --config ruby
update-alternatives --display gem >/dev/null 2>&1 && update-alternatives --remove-all gem
...
スクリプトが完璧に走った、とルビーは(ものソースからインストールされた)にRubyGemsを除いて....正常に動作します:
$: irb
irb(main):001:0> require 'rubygems'
=> false
しかし、それは正しいバージョンを指す:
$: which gem
/usr/bin/gem
$: file /usr/bin/gem
/usr/bin/gem: symbolic link to `/etc/alternatives/gem'
$: file /etc/alternatives/gem
/etc/alternatives/gem: symbolic link to `/usr/bin/gem1.9.2-p290'
また、ここでは宝石の環境だ:
$: gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.9.2-p290/bin/
- RUBY EXECUTABLE: /usr/bin/ruby1.9.2-p290
- EXECUTABLE DIRECTORY: /usr/lib/ruby/gems/1.9.2-p290/bin/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.9.2-p290/bin/
- /home/rbanerjee/.gem/ruby/1.9.2-p290
- /usr/lib/ruby/gems/1.9.2-p290
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
私は何が起こったのかについての損失でいます。別のマシンで、私が1.8.7から1.9.1になったときに、同様のアップグレードが機能しました。私はすべての詳細を提供しようとしましたが、これは長い質問です。どんな助けでも大歓迎です。
/ir/binに/ irbを指していますか? –
ディランの答えによって、問題がかなり後に解決されましたが、この点を指摘してくれてありがとう。はい、 'irb'は本当に'/usr/bin/irb'を返します。 –