解析 C:/Users/Vanessa/rails_space/config/database.yml 时出现 YAML 语法错误
YAML syntax error occurred while parsing C:/Users/Vanessa/rails_space/config/database.yml
当我在命令提示符中输入此代码时:
rails g model User
这是我在控制台中得到的:
YAML syntax error occurred while parsing
C:/Users/Vanessa/rails_space/config/database.yml. Please note that YAML
must be consistently indented using spaces. Tabs are not allowed. Error:
(<unknown>): did not find expected key while parsing a block mapping at
line 7 column 1 (RuntimeError)
这是我的 config/database.yml 文件中的代码:
# SQLite. Versions 3.8.0 and up are supported.
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: sqlite3
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
adapter: mysql
database: rails_space_development
username: root
password: NothingToSeeHere
host: localhost
<<: *default
database: db/development.sqlite3
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: db/production.sqlite3
看起来,在您的开发密钥下,对于适配器,您有一个间距错误。尝试将其更改为:
development:
adapter: mysql
你在 adapter
之前的 space 太多了。
YAML 对间距非常具体。正如您所发现的,即使是一个额外的 space 也会引发错误。而且您必须确保使用 spaces,而不是制表符。
当我在命令提示符中输入此代码时:
rails g model User
这是我在控制台中得到的:
YAML syntax error occurred while parsing
C:/Users/Vanessa/rails_space/config/database.yml. Please note that YAML
must be consistently indented using spaces. Tabs are not allowed. Error:
(<unknown>): did not find expected key while parsing a block mapping at
line 7 column 1 (RuntimeError)
这是我的 config/database.yml 文件中的代码:
# SQLite. Versions 3.8.0 and up are supported.
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: sqlite3
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
adapter: mysql
database: rails_space_development
username: root
password: NothingToSeeHere
host: localhost
<<: *default
database: db/development.sqlite3
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: db/production.sqlite3
看起来,在您的开发密钥下,对于适配器,您有一个间距错误。尝试将其更改为:
development:
adapter: mysql
你在 adapter
之前的 space 太多了。
YAML 对间距非常具体。正如您所发现的,即使是一个额外的 space 也会引发错误。而且您必须确保使用 spaces,而不是制表符。