0

RedHat RHEL 5.2 でソースから ruby​​ 1.9.3-p134 をコンパイルしました。

2つのことを除いて、すべてが順調に進みました。

1 コマンド ラインから ruby​​ を実行しようとすると、/usr/bin/ruby に見つからないと言われましたがwhich ruby/usr/local/bin/ruby. だから私はソフトリンクを作成しましたln -s /usr/local/bin/ruby /usr/bin/rubyが...

2 gem で次のエラーが表示されます。

$ gem

/usr/local/lib/ruby/1.9.1/rubygems/version.rb:191:in `strip!': can't modify frozen String (RuntimeError)
       from /usr/local/lib/ruby/1.9.1/rubygems/version.rb:191:in `initialize'
       from /usr/bin/gem:14:in `new'
       from /usr/bin/gem:14:in `<main>'

「凍結された文字列を変更できません」は一般的なルビーエラーであるため、グーグルで検索することはできません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

競合する宝石のインストールがあった可能性があります。

find / -name gem 2>/dev/null

/home/muradan/install_ruby/ruby-1.9.3-p194/bin/gem
/usr/lib64/ruby/gems/1.8/gems/rubygems-update-1.3.6/bin/gem
/usr/share/locale/gem
/usr/bin/gem        <----- which gem, doesn't work
/usr/local/bin/gem  <----- works

そのため、それを削除して /usr/local/bin/gem にソフトリンクしました。

今、gemlocks のような他の gem で問題が発生しました (これは /usr/local/bin または動作していない /usr/bin 以外の場所には存在しません)。

うっ!なぜ Linux は一貫性がないのですか! アプリケーションを /usr/bin にインストールし、一部を /usr/local/bin にリズムや理由なしでインストールすることのポイントは何ですか! FML

于 2012-06-08T16:47:57.380 に答える