2010-09-19 26 views
28

我输入这样的:键入'rails console'无法启动?

>rails console 

,并得到这个:

Usage: 
    rails new APP_PATH [options] 

Options: 
     [--skip-gemfile]  # Don't create a Gemfile 
    -d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db) 
           # Default: sqlite3 
.. 
.. 
. 

我沿着铁轨下面的教程,并就死在这。

我安装了rails 3.0。

+0

你有没有以任何方式修改你的bashrc(或bash_profile)文件?我在修改我的命令提示符后显示当前目录后,曾经遇到过这个问题 – stephenmurdoch 2010-09-19 07:15:23

回答

33

当您键入$ rails console时,您是否在应用程序的根路径中?

提示:$ rails c$ rails console

+0

不,我不是,当我在,为什么呢? rails -v在应用程序的根路径之外工作。 – Blankman 2010-09-19 10:33:57

+3

'rails'是一个全系统的可用程序。你用它来设置你的环境,使用'rails new '。为了使用特定于应用程序的rails命令(如运行控制台),必须告诉它在哪里工作 - 即。在项目根目录下运行。 – eli 2010-09-19 10:43:24

+0

还要确保您使用的是项目使用的相同版本的Ruby。 – bradleygriffith 2014-04-16 21:52:14

1

你是否在rails 3应用程序目录中?

您是否安装了多个版本的导轨?

尝试检查'哪些rails',并确保这是您正在运行的rails 3可执行文件 - 该用法看起来像rails 2.x.

+0

which rails =>/usr/bin/rails – Blankman 2010-09-19 05:13:50

+0

rails -v => Rails 3.0.0 – Blankman 2010-09-19 05:14:07

3

在Rails 2.3.x中,命令是script/console在给定的Rails应用程序目录中启动一个Ruby控制台,默认的Rails环境加载到内存中。不确定Rails 3.0是否相同。

1

您正在运行正确的命令(rails console)的快捷方式,但你很可能不会在这个应用程序的工作目录。将目录更改为您的rails应用程序的根目录(在其下您将找到/scripts/app等),并且该命令应该按照需要工作。

注意:使用script/consoleruby script/console适用于早期版本的Rails。

2

你需要到项目目录,并命令rails console 如:

D:\workspace\>rails blog 
D:\workspace\>cd blog 
D:\workspace\blog\> rails c 
loading en... 
9

我只是碰到了同样的问题,同时提升一个Rails 2个应用程序到Rails 3.当运行rails console(或真rails [anything])我的应用的根目录,我会看到一般rails new使用情况输出(如原始问题中引用的Blankman)。

问题是我没有从script目录中删除旧的Rails 2脚本。在删除script目录中的所有内容并添加在每个新的Rails 3应用程序中自动生成的script/rails文件后,rails命令现在可按预期工作。

为了获取script/rails文件的最新内容,请生成一个新应用程序并将该文件复制到您要升级的Rails 2应用程序中。铁轨3.0.7的,这里就是在这个文件中:

#!/usr/bin/env ruby 
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application. 

APP_PATH = File.expand_path('../../config/application', __FILE__) 
require File.expand_path('../../config/boot', __FILE__) 
require 'rails/commands' 
+0

谢谢你。我遇到了这个问题,并通过脚本/ rails文件复制修复它。 – Mario 2012-06-13 19:53:17

+0

是的,这个工程! – AnkitG 2013-03-18 09:44:29

7

我有这个问题,当我升级的Rails 2〜3能够做什么尼克说,然后还运行bundle exec rails console production修复它。

32

万一别人打本,我的症状是:

我已经部署了我的应用程序与Capistrano的3

我cd'd到我的应用程序目录,和轨道控制台没有工作

原来我想包括bin文件夹在我的帽子部署一个符号链接目录,如下所示:

集:linked_dirs%(重){登录TMP/tmp目录的PID/tmp目录缓存/插座供应商/捆绑公共/系统}

...我的bin目录'shared'是空的。

两个定位:

  • 确保您的联系bin目录具有正确的内容(看看你的#{RAILS_ROOT}/bin目录中的这是什么,或
  • 不要符号链接斌

然后我重新部署和它的作品。

+0

你刚刚救了我很多小时的挫折。这就是它! – user2490003 2015-06-10 23:22:55

+1

非常感谢!清晰的工作指示。这对我来说非常困惑,因为'bin'实际上是空的,我就像“为什么这会改变什么?” - 但它的确如此。谢谢! – dimitarvp 2015-11-17 15:16:56

+0

你救我!英雄! – Howard 2015-11-28 09:42:24

0

在我的情况bin/rails c掉光了我的应用程序的根文件夹