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】:安装完成后,出现以下错误:
那些不是错误。它们是 rubygems 发出的警告。如果您想避免它们,请使用 sudo
运行 rubygems 或将添加 /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]”这让我知道作品。现在,我希望我的系统知道 ruby1.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 是 ruby1.8。 /usr/bin/ruby1.9 是 ruby1.9 和 /usr/bin/ruby1.9.1 是 ruby1.9.1
最好将 /usr/bin/ruby 保留为 ruby1.8,因为可能有系统程序期望它是 ruby1.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.1
或 which ruby1.9.1
- 其中一个应该有输出。
cd
到第 10 步显示的目录。
sudo ln -s <your_ruby> ruby
,其中<your_ruby>
是第 10 步中产生输出的任何命令,ruby-1.9.1
或 ruby1.9.1
。
重复步骤 12,将 ruby
替换为 gem
、irb
、ri
和 rdoc
。所以一个可能是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 中无法工作 - 出现错误“没有可用的视频设备”