[英]How to check the heroku database version from ruby
我想从在本地MacOS开发计算机上运行的Shell方法检查生产数据库的版本。 从命令行,我可以成功运行
heroku run rake db:version --remote production
但是如果我打开rails console
会话并输入
hv = `heroku run rake db:version --remote production`
我看到以下错误消息:
/Users/Chris/.rvm/gems/ruby-2.5.1@golf_mentor_5.0.7/gems/bundler-1.16.1/lib/bundler/definition.rb:489:in `validate_ruby!': Your Ruby version is 1.9.3, but your Gemfile specified 2.5.1 (Bundler::RubyVersionMismatch)
from /Users/Chris/.rvm/gems/ruby-2.5.1@golf_mentor_5.0.7/gems/bundler-1.16.1/lib/bundler/definition.rb:464:in `validate_runtime!'
from /Users/Chris/.rvm/gems/ruby-2.5.1@golf_mentor_5.0.7/gems/bundler-1.16.1/lib/bundler.rb:101:in `setup'
from /Users/Chris/.rvm/gems/ruby-2.5.1@golf_mentor_5.0.7/gems/bundler-1.16.1/lib/bundler/setup.rb:20:in `<top (required)>'
from /usr/local/heroku/ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/heroku/ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require
我正在使用ruby 2.5.1。 heroku --version
命令产生heroku-cli/6.16.13-dbb9c23 (darwin-x64) node-v9.11.1
。 我该如何解决?
事实证明,这与此github https://github.com/bundler/bundler/issues/2489
。 似乎捆包者被heroku cli文件中的shebang弄糊涂了。 解决方案是为打包机使用干净的环境
Bundler.with_clean_env {`heroku run rake db:version --remote production`}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.