【问题标题】:Commands not found missing in terminal on my Mac?在我的 Mac 上的终端中找不到命令?
【发布时间】:2013-12-25 21:44:23
【问题描述】:

我的系统很好,但是今天安装 MySQL 服务器后,我无法使用终端来编写我的 Rails 应用程序。

当我打开一个终端会话时,我看到:

Last login: Sun Dec  8 13:31:06 on console
-bash: [: missing `]'
-bash: rt: command not found

我尝试搜索此错误,但找不到解决方案。

我正在运行 Mac 10.7 OS X。

没有找到与 Ruby on Rails 相关的命令。

我构建了一个应用程序并安装了 Rails,但是当我运行 Rails 命令时,我得到:

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

我该如何解决这个问题?

我的 bashrc 文件只包含一行:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting   

我的 bash 个人资料包含以下内容:

export PATH=$PATH:/usr/local/mysql/bin
[ [-s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
rt PATH=$PATH:/usr/local/mysql/bin

我检查了历史,这就是我运行的内容

vi .bash_profile
vi .bash_profile
user@computer:$ mysql -u root
mysql -u root
vi .bash_profile
mysql -u root
/usr/local/mysql-5.6.15-osx10.7-x86_64/bin/mysqld_safe ; exit;
mysql

我还能展示什么来帮助解决这个问题?

【问题讨论】:

  • 你真的没有给我们足够的信息来处理这个问题。在问题发生之前您运行了哪些命令?另外,将gem env 的输出附加到您的问题中。
  • 另外,如果您在打开终端时遇到该错误,您的 ~/.bashrc~/.bash_profile 似乎搞砸了。我怀疑 PATH 变量不正确。
  • 我运行命令 vi .bash_profile 然后导出 PATH=$PATH:/usr/local/mysql/bin 然后按照网上安装 mysql 的一个教程输入“:wq”。
  • 我怀疑路径搞砸了,我该如何解决?
  • 我不知道;你没有向我们展示任何与它有关的东西。认为这可能会有所帮助?

标签: ruby-on-rails ruby bash command-line terminal


【解决方案1】:

你的.bash_profile 搞砸了。修改如下所示:

[ [-s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function* 
rt PATH=$PATH:/usr/local/mysql/bin

看起来像这样:

[[-s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
export PATH=$PATH:/usr/local/mysql/bin

正如@TinMan 指出的那样,您需要从.bashrc 文件中删除export PATH 行。

【讨论】:

  • OPs PATH 仍然会出现问题,因为PATH=$PATH:$HOME/.rvm/bin 是错误的。
【解决方案2】:

我遇到了类似的问题(尽管我运行的是 Ubuntu)。当我打开一个新终端并导航到我的项目根目录时,我惊讶地发现 Rails 没有被识别为程序。我检查了 Ruby 的版本,并注意到我打开的两个终端之间存在差异。当我尝试使用 RVM 切换 Ruby 版本时,有人告诉我

You need to change your terminal emulator preferences to allow login shell.
Sometimes it is required to use `/bin/bash --login` as the command.

所以我跑了/bin/bash --login。然后,我能够使用RVM use ruby-2.1.1 切换到Ruby 2.1.1,并且我所有的rails 命令都再次工作了。

基本上发生的情况是 RVM 只为每个 Ruby 版本在本地安装 gem。除非您选择安装 gem 时使用的 Ruby 版本,否则您将无法使用 gem,除非您重新安装它。

【讨论】:

    【解决方案3】:

    我在收到此错误后来到此页面,原因略有不同。虽然 CDub 的回答直接适用于 OP 的问题,但我通常会建议出现此错误的 Mac OS X 终端用户执行以下操作:

    • 在文本编辑器中打开 ~/.bash_profile。
    • 在行首查找任何“rt”实例。
    • 将所有实例更改为“导出”。

    看起来有些软件包正在向 ~/.bash_profile 写入一个 Mac OS X 不喜欢的命令,我们需要手动纠正这个问题。

    作为参考,我使用的是 OS 10.10.2。

    【讨论】:

      猜你喜欢
      • 2015-08-28
      • 2021-05-05
      • 2016-11-21
      • 2022-06-15
      • 2011-07-16
      • 2014-06-24
      • 1970-01-01
      • 2010-10-12
      相关资源
      最近更新 更多