我显然遗漏了一些东西......'红宝石'不起作用,但'./ruby'确实如此(从源头安装的centos 5.5)

时间:2011-04-28 22:32:39

标签: ruby-on-rails ruby linux rubygems centos

尝试让rails服务器运行良好。

  • 使用rails页面的链接下载了ruby 1.8.7。
  • 做了./configure/make/install,安装得很好。
  • 试过ruby -v,一无所获。
  • 从文件夹中尝试了./ruby -v并且工作正常。

我觉得我已经从理解unix的东西变成了完全迷失的东西。很明显,ruby正在作为一个“守护进程”工作,但不能正常运行。任何帮助将非常感激。通过这个过程失去了太多的头发:(

学家

3 个答案:

答案 0 :(得分:3)

你能看到make install把ruby可执行文件放在哪里吗?如果你这样做,检查这个目录是否在你的$ PATH中

echo $PATH

答案 1 :(得分:2)

通常,unix需要知道在哪里可以找到可执行文件才能运行它。它使用$ PATH来查找此可执行文件。

因此,如果您键入“ruby”,它将查看您的$ PATH,然后在每个目录中查找名为“ruby”的文件。如果它无法在任何这些目录中找到它,那么也要查看当前目录。

因此,如果出现以下情况,整个过程将失败: a)包含可执行ruby文件的目录不在$ PATH AND中的任何目录中 b)可执行文件不在当前目录中

...还有一个替代方案就是 在其中一个目录中可用......但实际上并没有标记为可执行。您可以通过确保您在ruby文件的目录中并输入“ls -l ./ruby”来检查这一点

这将列出ruby文件及其所有权限以及谁拥有它。 它应该是这样的:

lrwxrwxrwx 1 root root 7 2010-02-14 10:45 ./ruby

注意rwx。如果你的ruby没有x那么你需要使用chmod添加可执行权限,例如:“chmod 755 ./ruby”

另请注意“root root” - 这意味着它由root拥有 - 通常,这意味着只有root才能运行它。在这个特定的例子中,它拥有每个人的eXecute权限,所以每个人都可以运行它,但是如果你没有像这样设置执行权限,那么这意味着如果你试图像你自己一样运行它,你就没有权限,你应该添加完整权限或尝试运行它:“sudo ruby​​”

然而 - 通过它的声音 - 最可能的问题是你在$ PATH中没有ruby可执行文件的目录。即使你现在正在运行它,你也需要修复它 - 因为,将来你需要从当前目录以外的目录运行ruby。

您需要谷歌获取有关向$ PATH添加内容的说明 - 因为它根据您的Linux版本和您当前的shell而有所不同,但这并不是很困难。

答案 2 :(得分:1)

你在运行哪个shell?如果是tcsh,您可能需要“重新散列”。否则,正如leifg所说,将包含ruby可执行文件的目录添加到路径中。