Ruby2.4+Rails5.0.1下pg gem已声明却无法被识别的问题
解决Rails无法识别已安装的pg gem问题
看起来你遇到的是Rails加载依赖时的常见小坑——明明gem已经装好了,但框架就是找不到它。别着急,咱们一步步排查解决:
用bundler启动你的Rails服务器
很多时候问题出在没通过bundler来管理运行环境。直接用rails s可能会调用系统全局的gem,而不是你项目bundle里的pg。试试用这个命令启动服务器:bundle exec rails s确认Gemfile.lock里的pg条目
检查项目根目录下的Gemfile.lock,看看里面有没有pg (1.0.0)的记录。如果没有,执行以下命令更新依赖并重新安装:bundle update pg bundle install检查database.yml的拼写
打开config/database.yml,确认数据库adapter的配置是adapter: postgresql,别写成postgres或者其他拼写错误——Rails对这个字段的拼写是严格要求的。验证Ruby环境一致性
如果你用了rbenv、rvm这类版本管理工具,可能当前终端的Ruby版本和Rails运行的版本不一致。执行以下命令对比:# 查看当前终端的Ruby版本 ruby -v # 查看bundle管理的Ruby版本 bundle exec ruby -v如果版本不一样,切换到正确的Ruby版本后再重新执行
bundle install。清理bundle缓存后重装
有时候bundle缓存会出问题,试试清理后重新安装:bundle clean --force bundle install务必重启服务器
最后别忘了——安装完新gem后,一定要重启你的Rails服务器,否则它不会加载新安装的依赖!
内容的提问来源于stack exchange,提问作者user7055375
相关产品推荐
相关产品推荐

