Ruby on rails I';我显然错过了一些东西';ruby';不';除了';,我不工作/ruby';DOS(centos 5.5,从源代码安装)
试图让rails服务器正常运行Ruby on rails I';我显然错过了一些东西';ruby';不';除了';,我不工作/ruby';DOS(centos 5.5,从源代码安装),ruby-on-rails,ruby,linux,rubygems,centos,Ruby On Rails,Ruby,Linux,Rubygems,Centos,试图让rails服务器正常运行 使用rails页面的链接下载了ruby 1.8.7 完成/配置/制作/安装,安装良好 试过ruby-v,什么都没得到 尝试了文件夹中的./ruby-v,结果成功了 我觉得我已经从对unix的理解变成了完全迷失。显然,ruby是作为一个“守护进程”工作的,但并没有像它应该的那样运行。任何帮助都将不胜感激。在此过程中,头发脱落过多:( J.你能看到makeinstall把ruby放在哪里了吗 如果是,请检查此目录是否位于$PATH by中 echo$PATH你能看
- 使用rails页面的链接下载了ruby 1.8.7
- 完成/配置/制作/安装,安装良好
- 试过ruby-v,什么都没得到
- 尝试了文件夹中的./ruby-v,结果成功了李>
J.你能看到makeinstall把ruby放在哪里了吗 如果是,请检查此目录是否位于$PATH by中
echo$PATH
你能看到makeinstall把ruby放在哪里了吗
如果是,请检查此目录是否位于$PATH by中
echo$PATH
您正在运行哪个shell?如果是tcsh,您可能需要“重新刷新”。否则,正如leifg所说,将包含ruby可执行文件的目录添加到您的路径中。您正在运行哪个shell?如果是tcsh,您可能需要“重新刷新”。否则,正如leifg所说,将包含ruby可执行文件的目录添加到您的路径中。通常,unix需要知道在何处找到可执行文件才能运行它。它使用$path来查找此可执行文件
因此,如果您键入“ruby”,它将查看$PATH,然后在每个目录中查找名为“ruby”的文件。如果在任何目录中都找不到它,它也应该在当前目录中查找
因此,如果:
a) 包含可执行ruby文件的目录不在$PATH和$PATH中的任何目录中
b) 可执行文件不在当前目录中
。。。另一种选择是,可以在这些目录中找到。。。但实际上并没有被您标记为可执行。您可以通过确保您使用ruby文件在e目录中输入并键入“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可以运行它。在这个特定的例子中,它对每个人都有执行权限,所以每个人都可以运行它,但是如果您没有这样的执行权限集,那么这意味着如果您试图以自己的身份运行它,您将没有权限,您应该添加完全权限,或者尝试使用“sudoruby”运行它
然而,听上去,最可能的问题是$PATH中没有ruby可执行文件的目录。即使现在运行ruby,您也需要修复这个问题,因为将来,您需要从当前目录以外的目录运行ruby
您需要在谷歌上搜索有关向$PATH添加内容的说明,因为它根据您的linux版本和当前的shell而有所不同,但这并不十分困难。一般来说,unix需要知道在哪里可以找到可执行文件才能运行它。它使用$PATH查找此可执行文件 因此,如果您键入“ruby”,它将查看$PATH,然后在每个目录中查找名为“ruby”的文件。如果在这些目录中找不到它,那么它也应该在当前目录中查找 因此,如果: a) 包含可执行ruby文件的目录不在$PATH和$PATH中的任何目录中 b) 可执行文件不在当前目录中 。。。另一种选择是,可以在这些目录中找到。。。但实际上并没有被您标记为可执行。您可以通过确保您使用ruby文件在e目录中输入并键入“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可以运行它。在这个特定的例子中,它对每个人都有执行权限,所以每个人都可以运行它,但是如果您没有这样的执行权限集,那么这意味着如果您试图以自己的身份运行它,您将没有权限,您应该添加完全权限,或者尝试使用“sudoruby”运行它
然而,听上去,最可能的问题是$PATH中没有ruby可执行文件的目录。即使现在运行ruby,您也需要修复这个问题,因为将来,您需要从当前目录以外的目录运行ruby
您需要在谷歌上搜索有关将内容添加到$PATH的说明,因为这取决于您的linux版本和当前的shell,但并不十分困难。/usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin:/usr/bin:/root/bin是返回的全部内容。我以前从未向PATH添加过任何内容,通常makeinstall命令会告诉您可执行文件将复制到何处。尝试再次运行它。您是否以超级用户权限运行它?--dest dir=“”,并且ruby(可执行文件)位于我运行MAKE INSTALL的目录中。MAKE INSTALL将可执行文件复制到其中一个dir。dest dir=“”是您指定的参数吗?如果是这样,请尝试在不使用此参数的情况下运行它,返回的结果就是使用超级用户权限/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin运行make install。我以前从未向PATH添加过任何内容,通常makeinstall命令会告诉您可执行文件将复制到何处。试着运行它