0

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

没有运气谷歌搜索,因为“无法修改冻结的字符串”是一个常见的 ruby​​ 错误。

任何帮助,将不胜感激。

4

1 回答 1

0

我可能有冲突的 gem 安装。

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。

现在我遇到了其他 gem 的问题,比如 gemlocks(它不存在于 /usr/local/bin 或除非工作 /usr/bin 之外的任何其他地方)

啊!!为什么linux不一致!将应用程序安装到 /usr/bin 和一些安装到 /usr/local/bin 的意义何在?FML

于 2012-06-08T16:47:57.380 回答