【问题标题】:Ruby 1.9.1 isn't recognized on UbuntuRuby 1.9.1 在 Ubuntu 上无法识别
【发布时间】:2010-07-03 16:03:54
【问题描述】:

我想安装 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 并非都是可写的。 警告:您的路径中没有 /home/brooks/.gem/ruby/1.9.1/bin, gem 可执行文件不会运行。

当我运行“ruby -v”(不带引号)时,我得到以下响应:

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

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

感谢您的帮助!

Br

【问题讨论】:

    标签: ruby rubygems


    【解决方案1】:

    安装完成后,出现以下错误:

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

    当我运行“ruby -v”(不带引号)时,我得到以下响应:

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

    试试ruby1.9.1 -v

    【讨论】:

    • 是的!当我执行“ruby1.9.1 -v”而不是“ruby -v”(不带引号)时,它返回:“ruby 1.9.1p378(2010-01-10 修订版 26273)[i486-linux]”这让我知道作品。现在,我希望我的系统知道 ruby​​1.9.1 是默认设置......我该怎么做?我仍然不能使用rails。
    【解决方案2】:

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

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

    根据我的经验,只要我不使用这些软件包,Ruby 很容易在 Ubuntu 或任何 Linux 上安装。我知道这会伤害软件包维护者的感受,但我并没有经常发现他们的成果符合我的口味。

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

    【讨论】:

      【解决方案3】:

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

      最好将 /usr/bin/ruby 保留为 ruby​​1.8,因为可能有系统程序期望它是 ruby​​1.8

      【讨论】:

        【解决方案4】:

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

        sudo update-alternatives --config ruby
        

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

        【讨论】:

          【解决方案5】:

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

          那么难吗?

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

          Synaptic 列出 Ruby1.9.1 安装好了吗?

          这是Ruby 1.9.1-p378 tarball - 你可以试试 ye olde ./configure && make && make install

          【讨论】:

          • 是的,由于某种原因,它无法识别 ruby​​ - 即使在我安装它之后。如果我执行 ruby​​ -v 它不会返回 ruby​​ 的版本,它会给我一个错误,指出它找不到 ruby​​ 可执行文件。
          • 因为 Debian 包中的 Ruby 可执行文件是 ruby1.9.1。您可以使用符号链接轻松创建自己的 ruby 可执行文件。
          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            解决这个问题:

            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

            如果你得到相同的WARNING: Installing to ~/.gem since...:

            1. nano ~/.profile
            2. 附加这个:

            .

            export PATH=/home/brooks/.gem/ruby/1.9.1/bin:$PATH
            export GEM_HOME=/home/brooks/.gem/ruby/1.9.1
            

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

            【讨论】:

            • 鉴于操作员对 Linux 的熟悉程度,可能不合适?
            • 哪里说他们熟悉Linux?仅仅因为他们使用 Ubuntu 并不意味着他们熟悉它。
            • 一旦你尝试过 rvm,你就再也不想(也不需要)再经历这些麻烦了。
            猜你喜欢
            • 2015-09-15
            • 2011-01-09
            • 2021-10-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-10-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多