试图让rails服务器运行良好。
- 从rails页面下载ruby 1.8.7。
- did ./configure/make/install,安装好了。
- 尝试。/ruby -v从文件夹,它工作。
我觉得我已经从了解一些unix到完全失去了。显然,ruby是作为一个"守护进程"工作的,但没有像它应该的那样运行。任何帮助将非常感激。在这个过程中失去太多的头发:(
j .
你能看到make install把ruby可执行文件放在哪里吗?
如果有,检查这个目录是否在你的$PATH中
echo $PATH
一般来说,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,但这不是很难。
您正在运行哪个shell ?如果tcsh,您可能需要"重新hash"。否则,正如leifg所说,将包含ruby可执行文件的目录添加到路径中。