我的Mac终端上找不到丢失的命令?

时间:2013-12-08 21:43:09

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

我的系统很好,但今天安装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

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

3 个答案:

答案 0 :(得分: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指出的那样,您需要从export PATH文件中删除.bashrc行。

答案 1 :(得分:0)

我有类似的问题(虽然我正在运行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版本在本地安装gems。除非您选择安装gem时使用的Ruby版本,否则除非重新安装,否则无法使用gem。

答案 2 :(得分:0)

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

  • 在文本编辑器中打开〜/ .bash_profile。
  • 查找" rt"的任何实例在一行的开头。
  • 将所有实例更改为"导出"。

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

供参考,我在OS 10.10.2上。