当我在终端输入命令时,我收到一个错误 - “找不到命令”

时间:2011-02-09 14:05:55

标签: ruby macos command-line terminal command

gal-harths-iMac:~ galharth$ ruby -v
-bash: ruby: command not found
gal-harths-iMac:~ galharth$ open -e .bash_profile
-bash: open: command not found

我该怎么办?

我的.bash_profile和.profile以及.bashrc都是空的,我需要在其中写一些内容吗?..

6 个答案:

答案 0 :(得分:4)

我怀疑你有覆盖默认路径的东西(如.bash_profile或.bashrc)open是os x上的有效命令,对我来说man open返回

NAME
     open -- open files and directories

SYNOPSIS
     open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b bundle_identifier]
          [-a application] file ... [--args arg1 ...]

DESCRIPTION
     The open command opens a file (or a directory or URL), just as if you had
     double-clicked the file's icon. If no application name is specified, the
     default application as determined via LaunchServices is used to open the
     specified files.....

同样可能安装ruby但不在路径上。我最好的猜测是删除或重命名.bashrc和.bash_profile文件并以该用户身份注销并重新登录,以重置您的bash会话。

要测试是否是用户级问题,请在系统偏好设置下创建新帐户 - >帐户然后以该用户身份登录,打开终端并键入ruby -vman open等,以查看是否可以在默认用户帐户上执行此操作。如果可行的话,那肯定是你在“gal-harth”帐户中定制的一些bash设置。

答案 1 :(得分:2)

找出问题所在的第一步是查看您当前的PATH是什么。

echo $PATH

如果返回一个空白行,那就出现了可怕的错误。您可以通过运行:

临时修复它
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

这应该会让你ruby,以及openman以及其他一些命令。

问题是,PATH说“在这些目录中查找二进制文件”而不是“这是我想要使用的二进制文件的明确列表。”

答案 2 :(得分:0)

未安装Ruby。您需要从他们的网站here安装它。  同样,“开放”并不是我听过的任何bash命令。

经过进一步反思,您是否尝试安装rvm?

答案 3 :(得分:0)

如果您已经安装了Ruby,它的位置是否已在PATH变量中设置?如果没有,您可以将其添加到.bash_profile中,如下所示:

echo 'export PATH=/wherever/ruby/is/located:$PATH' >> ~/.bash_profile

答案 4 :(得分:0)

某些东西搞砸了你的PATH - 你不需要有一个.profile(或它的任何变种)来正确设置默认的PATH。通常,当PATH被搞砸时,这是因为它在各种配置文件中被设置错误。当你说.bash_profile和.profile和.bashrc是空的时,你的意思是它们存在但是它们中没有任何东西,或者它们根本不存在?另外,你有.bash_login或.bashrc文件吗?

我会仔细查看您的主目录。使用/bin/ls -ld ~/.*列出主目录中的所有不可见文件,并在名称中查找名称为“sh”,“profile”或“rc”的任何内容。此外,运行/usr/bin/grep PATH ~/.*以查看是否有任何不可见文件提及PATH - 如果有的话,他们可能会怀疑。

答案 5 :(得分:-2)

只需输入bash_filename./_filename

即可