输入'rails console'无法启动?

Bla*_*man 31 ruby ruby-on-rails

我输入了这个:

>rails console
Run Code Online (Sandbox Code Playgroud)

得到了这个:

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
..
..
.
Run Code Online (Sandbox Code Playgroud)

我正在跟踪rails教程,并坚持这一点.

我安装了rails 3.0.

Yan*_*nis 36

键入时,您是否位于应用程序的根路径中$ rails console

提示:$ rails c是一个快捷方式$ rails console

  • `rails`是一个系统范围的可用程序.您可以使用它来使用`rails new <projectname>`来设置环境.为了使用特定于您的应用程序的rails命令(比如运行控制台),您必须告诉它在哪里工作 - 即.在项目根目录内运行. (4认同)

Gui*_*ick 36

如果其他人遇到这个,我的症状是:

我用Capistrano 3部署了我的应用程序

我进入我的应用程序目录,rails控制台无法正常工作

原来我在bin部署中将bin文件夹作为符号链接目录包含在内,如下所示:

set:linked_dirs,%w {log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

...并且'shared'中的bin目录为空.

两个修复:

  • 确保链接的bin目录具有正确的内容(查看#{RAILS_ROOT}/bin目录,了解其内容,或者
  • 没有符号链接bin

然后我重新部署,它的工作原理.

  • 可以使用“bundle exec rake app:update:bin”(或针对特定 gem 的“bundle binstubs &lt;gem&gt;”)(重新)生成缺少的 binstub。 (2认同)

Nic*_*ick 10

我在将Rails 2应用程序升级到Rails 3时遇到了同样的问题.当在我的应用程序的根目录中运行rails console(或者真的rails [anything])时,我会看到一般rails new用法输出(如原始问题中引用的Blankman).

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

要获取script/rails文件的最新内容,请生成一个新应用程序并将该文件复制到您正在升级的Rails 2应用程序中.从Rails 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'
Run Code Online (Sandbox Code Playgroud)


Gor*_*oro 7

当我将Rails 2升级到3并且能够通过做Nick所说的,然后也运行来修复它时,我遇到了这个问题bundle exec rails console production.