在文件$ RUBY_HOME / ruby​​gems / version.rb上运行gem时,“无法修改冻结的字符串”

时间:2012-06-08 16:28:51

标签: ruby rubygems

我在RedHat RHEL 5.2上从源代码编译了ruby 1.9.3-p134。

除了两件事之外,一切顺利。

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>'

没有运气谷歌搜索,因为&#34;无法修改冻结的字符串&#34;是一个常见的红宝石错误。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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(在/ usr / local / bin中不存在或除了非工作/ usr / bin之外的任何其他地方)

UGH !!为什么linux不一致!什么是应用程序安装到/ usr / bin和一些到/ usr / local / bin没有押韵或原因的重点! FML