2016-08-12 70 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檢測我的項目,並且該腳本允許我再次使用其他命令。

我會在這裏問一個新的問題,我爲什麼要這樣做,以及如何解決這個問題。