【发布时间】:2019-03-15 20:50:12
【问题描述】:
我已经克隆了一个存储库,并通过装有 Ubuntu 并使用 RVM 的虚拟机设置了所有内容。所有关于 Ruby on Rails 的东西都是通过 RVM 安装的。
我的问题是,我的 Ubuntu 登录名与我假设数据库想要的用户不同。例如,我的 Ubuntu 登录名是 Matt,但是当我启动 rails 服务器并加载到 localhost:3000 时,它是这样说的:
ActiveRecord::NoDatabaseError
FATAL: role "James" does not exist
我知道这是一个 postgres 错误,但我现在应该怎么做才能使它正常工作?我已经搜索了以前的 StackOverflow 答案,但方法不起作用。
例如。我变了
local all postgres peer
到
local all postgres trust
或者使用psql -h localhost -U postgres 或sudo -u postgres createuser -s $(whoami); createdb $(whoami) 再一次,它不起作用。第一个命令要求输入密码,我不知道。
【问题讨论】:
-
sudo -u postgres createuser -s $(whoami);的密码是您希望 postgres 角色的密码。但我真的会将默认的 postgres 帐户命名为与您的操作系统用户名不同的名称,例如pg_user。您希望它们相同的唯一原因是无密码身份验证。 -
此 QA 可能会有所帮助:stackoverflow.com/questions/12720967/…
-
您需要查看您的 config/database.yml 文件。问题可能不在于 Postgres,而在于您的 Rails 配置。默认情况下,没有列出
user:,Rails 将尝试使用启动服务器的用户名进行连接。
标签: ruby-on-rails ruby postgresql ubuntu