2016-08-12 82 views
1

奇怪的是,我无法在某些情况下执行典型的Rails命令,例如rails srails c为什么Rails命令强制为`new`命令提供帮助信息?

我发现这发生在某个特征分支上,也偶尔也发生在过去,但目前在我的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. 

回答

1

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

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

我会在这里问一个新的问题,我为什么要这样做,以及如何解决这个问题。