请求ruby-on-rails应用程序时出现Psych::BadAlias错误

lnxxn5zx  于 2022-11-19  发布在  Ruby
关注(0)|答案(6)|浏览(199)

我从我的应用程序目录运行Rails服务器。

http://localhost:3000

出现以下错误:

  • 心理::坏别名

无法加载Rails.application.database_configuration:未知别名:默认值 *

2mbi3lxu

2mbi3lxu1#

这是因为ruby-plugin for netbeans在从现有源代码创建项目时会弄乱数据库.yml文件。它将sqlite3的注解替换为mysql,但更糟糕的是,它删除了第一个定义块“default”
所以只需插入

default: &default
adapter: sqlite3
pool: 5
timeout: 5000

在database.yml的开头,这样就可以了

rmbxnbpk

rmbxnbpk2#

这是由于您的database.yml文件中的无效别名造成的。您很可能有看起来与此类似的内容...但不完全是:

defaults: &defaults
  adapter:  mysql2
  username: root
  password: 
  host:     localhost
  timeout:  5000

development:
  database: app_name_development
  <<: *defaults

在这里,&defaults定义了你的错误所涉及的别名。使你的database.yml看起来更像这个语法,你应该设置。或者,在这里发布你的database.yml文件,我们可以帮助你具体修复它,如果需要的话。

t0ybt7op

t0ybt7op3#

数据库.yml文件的内容为:

development:
  <<: *default
  database: db/development.sqlite3
test:
  <<: *default
  database: db/development.sqlite3_test

production:
  <<: *default
  database: db/development.sqlite3_production

我使用netbeans作为文本编辑器,文件顶部出现错误,指出:

  • ComposerException null我们找到了未定义的别名默认值 *

谢谢你

tvokkenx

tvokkenx4#

你可能需要升级你的ruby〉1.9。

js5cn81o

js5cn81o5#

发生这种情况是因为密码DB有一些特殊字符,如果你使用rbenv-vars插件,更改密码没有特殊字符.

dxxyhpgq

dxxyhpgq6#

pysch gem有一个重大更改,默认情况下不允许加载包含别名的YAML文件。
下面是一个YAML的例子:

default: &default
  adapter: postgresql

由于你不能控制代码,你可以修改你的yml文件(例如database.yml),使其不使用别名,或者对心理代码打补丁。
尽管错误消息已更新,但此答案中仍包含更多详细信息。
visit_Psych_Nodes_Alias: Unknown alias: default (Psych::BadAlias)

相关问题