Ruby 1.9.1 在 Ubuntu 上无法识别

Posted

技术标签:

【中文标题】Ruby 1.9.1 在 Ubuntu 上无法识别【英文标题】:Ruby 1.9.1 isn't recognized on 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/***s/.gem/ruby/1.9.1/bin, gem 可执行文件不会运行。

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

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

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

感谢您的帮助!

Br

【问题讨论】:

【参考方案1】:

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

那些不是错误。它们是 ruby​​gems 发出的警告。如果您想避免它们,请使用 sudo 运行 ruby​​gems 或将添加 /home/***s/.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】:

解决这个问题:

    sudo apt-get remove ruby ruby1.9.1-full 下载并解压ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.1-p378.tar.gz。 cd ruby-1.9.1-p378 ls configure - 如果没有“找不到文件”错误,请跳到第 6 步。 autoconf ./configure - 如果有任何错误,请在评论中发布。 make sudo make install which ruby - 如果有任何输出,请不要继续。 which ruby-1.9.1which ruby1.9.1 - 其中一个应该有输出。 cd 到第 10 步显示的目录。 sudo ln -s <your_ruby> ruby,其中<your_ruby> 是第 10 步中产生输出的任何命令,ruby-1.9.1ruby1.9.1。 重复步骤 12,将 ruby 替换为 gemirbrirdoc。所以一个可能是sudo ln -s gem-1.9.1 gem

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

    nano ~/.profile 附加这个:

.

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

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

【讨论】:

鉴于操作员对 Linux 的熟悉程度,可能不合适? 哪里说他们熟悉Linux?仅仅因为他们使用 Ubuntu 并不意味着他们熟悉它。 一旦你尝试过 rvm,你就再也不想(也不需要)再经历这些麻烦了。

以上是关于Ruby 1.9.1 在 Ubuntu 上无法识别的主要内容,如果未能解决你的问题,请参考以下文章

无法识别 ubuntu 终端中的导轨,但在 aptana 终端中

Ruby2d 在 Ubuntu 18.04 上的 WSL2 中无法工作 - 出现错误“没有可用的视频设备”

无法识别使用 Ubuntu bash 在 Windows 10 上安装的 Python 模块

Luhn算法Ruby无法识别AMEX

无法在 ubuntu 12.04 上安装 rvm

如何在 ubuntu 上卸载 Ruby?