0

更新所有软件包所需的重新启动后,

ruby -v

不起作用。它说也没有安装rails,但我想应该是类似的问题。当我做:

sudo apt-get install ruby

它说已经安装了最新版本。当我做:

dpkg -L ruby

我得到以下输出:

/.
/usr
/usr/bin
/usr/share
/usr/share/doc
[and other stuff..]

但我意识到 $PATH 已经包含 /usr/bin:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
:/sbin:/bin:/usr/games:/home/ubuntu/.rvm/bin

我可以知道为什么我仍然收到以下错误消息吗?:

The program 'ruby' is currently not installed.  You can install it by typing:
sudo apt-get install ruby

我的 .bashrc 也已经有了这个:

PATH=$PATH:$HOME/.rvm/bin
4

1 回答 1

0

dpkg 将检查它维护的数据库,而尝试执行 ruby​​ 使用 PATH。如果我没记错的话,Ubuntu 有一个配置为在任何命令无法解析时执行的 bash 处理程序;似乎它只是显示该通用消息,而不是先检查 dpkg 。

ruby 可能已从您的文件系统(或至少它以前所在的目录)中消失,或者您的 PATH 已更改。

如果执行“which ruby​​”和“where ruby​​”会得到什么?

最后,Ubuntu 可能会抱怨某个程序在存在时无法找到。这发生在运行 64 位版本的 Ubuntu 且未安装必要的 x86 库并尝试执行 32 位二进制文​​件时。但是,我记得错误消息更像是“找不到文件”。

于 2012-08-04T16:15:45.927 回答