在Ubuntu上无法识别Ruby 1.9.1

时间:2010-07-03 16:03:54

标签: ruby rubygems

我想安装ruby 1.9.1而不是旧版本,所以我在Ubuntu上运行了这个命令:

sudo apt-get install ruby1.9.1-full

安装完成后,我收到以下错误:

警告:自/var/lib/gems/1.9.1和之后安装到〜/ .gem       /var/lib/gems/1.9.1/bin不是可写的。 警告:您的PATH中没有/home/brooks/.gem/ruby/1.9.1/bin,       gem可执行文件无法运行。

当我运行“ruby -v”(没有引号)时,我收到以下回复:

bash: /usr/bin/ruby: No such file or directory

所以我的问题是:1)为什么安装ruby如此困难,2)我该如何解决这个问题呢?

感谢您的帮助!

7 个答案:

答案 0 :(得分:2)

  

安装完成后,我收到以下错误:

那些不是错误。他们是rubygems发出的警告。如果你想避免它们使用sudo运行rubygems或者在你的PATH变量中添加/home/brooks/.gem/ruby/1.9.1/bin。或者,如果您不关心在未指定整个路径的情况下无法运行gems安装的可执行文件,请忽略它们。

  

当我运行“ruby -v”(没有引号)时,我收到以下回复:

     

bash:/ usr / bin / ruby​​:没有这样的文件或目录

尝试ruby1.9.1 -v

答案 1 :(得分:2)

在我的Linux系统上,我忽略了Ruby的apt-get,除了进入/ usr / bin的默认ruby包。我将加载任何其他版本,例如1.8.7-head或1.9.1-如果它只是为了我的话,使用RVM进入我自己的空间。

如果正在安装的ruby是系统范围的,我将使用源tarball并安装到/ usr / local / bin并调整我的路径或#!在源代码中排,以确定我想要调用哪个版本。

根据我的经验,只要我不使用软件包,就可以在Ubuntu或任何Linux上轻松安装Ruby。我知道这会损害包裹维护者的感受,但我没有经常发现他们的水果符合我的口味。

对于普通用户,我强烈建议使用RVM进行开发和测试,因为您可以安装多个rubies并使用#!/usr/bin/env ruby调用轻松来回跳转,让RVM通过调整来调整我将要运行的版本rvm use 1.8.7rvm use 1.9.1。或者,您可以使用rvm ruby ...对每个已安装的实例运行命令。 RVM是一个很棒的软件,Wayne应该被封为爵士。 : - )

答案 2 :(得分:1)

在我的Ubuntu上,/ usr / bin / ruby​​是ruby1.8。 /usr/bin/ruby1.9是ruby1.9,/ usr / bin / ruby​​1.9.1是ruby1.9.1

将/ usr / bin / ruby​​保留为ruby1.8是一个好主意,因为可能有系统程序期望它是ruby1.8

答案 3 :(得分:1)

您需要更新ruby的替代品。尝试

sudo update-alternatives --config ruby

如果您还没有选择安装的特定版本,请参阅此帖子:http://ubuntuforums.org/showpost.php?p=10057489&postcount=6

答案 4 :(得分:0)

  

1)为什么安装这么困难   红宝石

那么很难?

  

2)我该如何解决这个问题?

Synaptic列表Ruby1.9.1安装好吗?

这是Ruby 1.9.1-p378 tarball - 您可以试试这些./configure&&制造&& make install

答案 5 :(得分:0)

我使用rvm link text安装ruby 1.9.1然后安装1.9.2

答案 6 :(得分:0)

解决这个问题:

  1. sudo apt-get remove ruby ruby1.9.1-full
  2. 下载并解压缩ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.1-p378.tar.gz
  3. cd ruby-1.9.1-p378
  4. ls configure - 如果不是“找不到文件”错误,请跳至步骤6.
  5. autoconf
  6. ./configure - 如果有任何错误,请将其发布在评论中。
  7. make
  8. sudo make install
  9. which ruby - 如果有任何输出,请不要继续。
  10. which ruby-1.9.1which ruby1.9.1 - 其中一个应该有输出。
  11. cd到步骤10显示的目录。
  12. sudo ln -s <your_ruby> ruby,其中<your_ruby>是步骤10中的哪个命令生成输出,ruby-1.9.1ruby1.9.1
  13. 重复步骤12,将ruby替换为gemirbrirdoc。所以可能是sudo ln -s gem-1.9.1 gem
  14. 如果你得到相同的WARNING: Installing to ~/.gem since...

    1. nano ~/.profile
    2. 追加:
    3. export PATH=/home/brooks/.gem/ruby/1.9.1/bin:$PATH
      export GEM_HOME=/home/brooks/.gem/ruby/1.9.1
      

      同样,如果有任何错误,请将其发布在对此答案的评论中。