为什么Rails命令强制执行`new`命令的帮助消息?

时间:2016-08-12 03:19:08

标签: ruby-on-rails ruby-on-rails-3

奇怪的是,我无法在某些情况下执行典型的Rails命令,例如rails srails c

我发现这发生在某个功能分支上,并且过去偶尔也会发生,但目前可以在我的develop分支上运行。

我撤消了任何可能加载的.rb个文件,但没有任何效果,但这没有帮助,其他其他更改是.sh个文件和自述文件更新。

文字我不想看到:

> rails
Usage:
  rails new APP_PATH [options]

Options:
  -r, [--ruby=PATH]                                      # Path to the Ruby binary of your choice
                                                         # Default: /Users/jsmall/.rvm/rubies/ruby-2.1.5/bin/ruby
  -b, [--builder=BUILDER]                                # Path to a application builder (can be a filesystem path or URL)
  -m, [--template=TEMPLATE]                              # Path to an application template (can be a filesystem path or URL)
      [--skip-gemfile], [--no-skip-gemfile]              # Don't create a Gemfile
      [--skip-bundle], [--no-skip-bundle]                # Don't run bundle install
  -G, [--skip-git], [--no-skip-git]                      # Skip Git ignores and keeps
  -O, [--skip-active-record], [--no-skip-active-record]  # Skip Active Record files
  -S, [--skip-sprockets], [--no-skip-sprockets]          # Skip Sprockets files
  -d, [--database=DATABASE]                              # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc)
                                                         # Default: sqlite3
  -j, [--javascript=JAVASCRIPT]                          # Preconfigure for selected JavaScript library
                                                         # Default: jquery
  -J, [--skip-javascript], [--no-skip-javascript]        # Skip JavaScript files
      [--dev], [--no-dev]                                # Setup the application with Gemfile pointing to your Rails checkout
      [--edge], [--no-edge]                              # Setup the application with Gemfile pointing to Rails repository
  -T, [--skip-test-unit], [--no-skip-test-unit]          # Skip Test::Unit files
      [--old-style-hash], [--no-old-style-hash]          # Force using old style hash (:foo => 'bar') on Ruby >= 1.9

Runtime options:
  -f, [--force]                    # Overwrite files that already exist
  -p, [--pretend], [--no-pretend]  # Run but do not make any changes
  -q, [--quiet], [--no-quiet]      # Suppress status output
  -s, [--skip], [--no-skip]        # Skip files that already exist

Rails options:
  -h, [--help], [--no-help]        # Show this help message and quit
  -v, [--version], [--no-version]  # Show Rails version number and quit

Description:
    The 'rails new' command creates a new Rails application with a default
    directory structure and configuration at the path you specify.

    You can specify extra command-line arguments to be used every time
    'rails new' runs in the .railsrc configuration file in your home directory.

    Note that the arguments specified in the .railsrc file don't affect the
    defaults values shown above in this help message.

Example:
    rails new ~/Code/Ruby/weblog

    This generates a skeletal Rails installation in ~/Code/Ruby/weblog.
    See the README in the newly created application to get going.

我希望看到的文字:

> rails
Usage: rails COMMAND [ARGS]

The most common rails commands are:
 generate    Generate new code (short-cut alias: "g")
 console     Start the Rails console (short-cut alias: "c")
 server      Start the Rails server (short-cut alias: "s")
 dbconsole   Start a console for the database specified in config/database.yml
             (short-cut alias: "db")
 new         Create a new Rails application. "rails new my_app" creates a
             new application called MyApp in "./my_app"

In addition to those, there are:
 application  Generate the Rails application code
 destroy      Undo code generated with "generate" (short-cut alias: "d")
 benchmarker  See how fast a piece of code runs
 profiler     Get profile information from a piece of code
 plugin       Install a plugin
 runner       Run a piece of code in the application environment (short-cut alias: "r")

All commands can be run with -h (or --help) for more information.

2 个答案:

答案 0 :(得分:1)

通过随机阅读此答案(StackOverflow - Why does my rails command always create a new application?),它让我想到检查项目中的script文件夹。我之前提到过它,这就是Rails一直试图让我通过特定帮助屏幕创建一个新项目的原因。

rails命令移回script文件夹帮助rails检测我的项目,脚本允许我再次使用其他命令。

我会在这里问一个新问题,为什么我这样做,以及如何绕过它。

答案 1 :(得分:0)

我发现我的应用程序根目录中没有bin文件夹。快速修复:

bundle exec rake rails:update:bin

普拉迪普的道具:
Rails server does not start by command "Rails s"