【问题标题】:when i type commands in the terminal i get an error - "command not found"当我在终端中键入命令时出现错误 - “找不到命令”
【发布时间】:2011-06-24 04:08:28
【问题描述】:
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 是空的,我需要在里面写点什么吗?..

【问题讨论】:

  • 如果您添加对您一直在尝试做的事情的描述会有所帮助。默认情况下,您应该有 ~/.bashrc 或 ~/.bash_profile,并且您的路径应该已经定义为允许找到 ruby​​。 Ruby 默认安装在 Mac OS 上,但需要单独放置,因为 Apple 有使用它的应用程序。如果您正在安装 Ruby,请使用 RVM 管理沙盒中的所有内容。
  • @tin man 是对的。你的 bash 文件中不需要任何东西,你可以通过编辑它们来扩展默认的 bash 设置,但除非你需要特殊的东西,否则它们应该是空白的

标签: ruby macos command-line terminal command


【解决方案1】:

我怀疑你有一些东西覆盖了你的默认路径(如 .bash_profile 或 .bashrc)打开是 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 设置。

【讨论】:

  • 这是我输入“man open”时得到的结果:gal-harths-iMac:~ galharth$ man open -bash: man: command not found
  • 如何创建新帐户?或自定义我的 gal-harth 帐户 bash 设置?
  • 我创建了一个新帐户,并且所有的墙都可以使用.. 那么如何更改我的 bash 设置?我需要在 .bash_profile 中写些什么?
  • 要么输入,要么把它放在你的 ~/.bashrc 中:export set PATH=/bin:/sbin:/usr/bin:/usr/sbin
【解决方案2】:

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

echo $PATH

如果返回一个空行,则说明出现了严重错误。您可以通过运行临时修复它:

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

你应该会得到rubyopenman,以及一堆其他命令。

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

【讨论】:

    【解决方案3】:

    Ruby 没有安装。您需要从他们的网站here 安装它。 同样,“open”不是我听说过的任何 bash 命令。

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

    【讨论】:

    • 我安装了 ruby​​.. 它之前对我有用 - ruby​​ -v 和 open 命令.. 我想我误删除了 .bash_profile 或 .profile
    • Ruby 由 Mac OS 安装并供系统使用,不应由用户修改。可以在/usr/local 中安装新版本,这是从源安装的默认设置。对于大多数用户来说,更好的解决方案是使用 RVM。
    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

        只需输入bash_filename./_filename

        【讨论】:

          猜你喜欢
          • 2014-08-04
          • 1970-01-01
          • 2020-07-23
          • 1970-01-01
          • 2013-10-30
          • 2021-07-26
          • 2018-12-10
          • 2012-01-09
          • 2012-03-20
          相关资源
          最近更新 更多