use*_*268 60 ruby postgresql activerecord rubygems ruby-on-rails
运行Ruby on Rails(RoR)应用程序或使用ActiveRecord框架的Ruby代码,您会收到错误消息:
请安装postgresql适配器:
gem install activerecord-postgresql-adapter
试图运行:
gem install activerecord-postgresql-adapter
Run Code Online (Sandbox Code Playgroud)
也失败了,让你不知所措.
mcr*_*mcr 127
问题不是任何人写的.问题是postgresql数据库适配器的名称是"postgresql",而不是"postgres",尽管GEM的名称是"pg".
database.yml文件中的定义应该包括
adapter: postgresql
Run Code Online (Sandbox Code Playgroud)
小智 10
这是我从Heroku得到的答案,它对我有用(在尝试了不同的pg宝石,适配器以及其他10篇关于此的其他帖子之后)
1)将行:gem'pg'添加到您的Gemfile中.
2)运行命令bundle install将gem安装到您的bundle中.
3)暂存Gemfile和Gemfile.lock更改:git add Gemfile Gemfile.lock
4)提交更改:git commit -m"安装pg gem"
5)重新部署到heroku:git push heroku master
这意味着您没有安装新的"pg"postgresql库.这很容易修复:
sudo gem install pg
Run Code Online (Sandbox Code Playgroud)
我(Dov)在网上找到了其他解决方案,其中描述了设置GEM_HOME并将〜/ .gem/ruby/vers/bin添加到您的PATH,但它们不起作用.上述解决方案由Mark Mansour在其博客State of Flux上提供:http: //stateofflux.com/2008/7/13/activerecord-postgresql-adapter-in-rails-2-1/
还有一个更深层次的隐藏条件也会导致此错误.
如果你有一个本地环境变量DATABASE_URL = postgres:// mehmehmeh set,那么一些gem(我怀疑是Heroku)会让app认为Postgres是必需的,即使它在你的配置中没有任何地方.杀掉那个env变量,你应该没问题.
| 归档时间: |
|
| 查看次数: |
34304 次 |
| 最近记录: |