heroku pg:psql错误:无法加载这样的文件--dl/inport(LoadError)



我正试图从windows命令行使用以下命令访问heroku上的生产postgresql数据库:

> heroku pg:psql

然而,我得到了以下错误。我确保net-ssh包含在我的gemfile中,其中包含gem'net-ssh','2.9.3.beta1',然后我删除了gemfile.lock,并重新部署。感谢您的帮助!

---> Connecting to DATABASE_URL
C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- dl/import (LoadError)
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/vendor/gems/net-ssh-2.9.2/lib/net/ssh/authentication/pageant.rb:1:in `<top (required)>'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/vendor/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent/socket.rb:5:in `<top (required)>'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/vendor/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent.rb:22:in `<top (required)>'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/vendor/gems/net-ssh-2.9.2/lib/net/ssh/authentication/key_manager.rb:4:in `<top (required)>'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/vendor/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:4:in `<top (required)>'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/vendor/gems/net-ssh-2.9.2/lib/net/ssh.rb:11:in `<top (required)>'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/vendor/gems/net-ssh-gateway-1.2.0/lib/net/ssh/gateway.rb:2:in `<top (required)>'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from C:/Users/user/.heroku/client/lib/heroku/helpers/heroku_postgresql.rb:54:in `maybe_tunnel'
    from C:/Users/user/.heroku/client/lib/heroku/command/pg.rb:150:in `psql'
    from C:/Users/user/.heroku/client/lib/heroku/command.rb:212:in `run'
    from C:/Users/user/.heroku/client/lib/heroku/cli.rb:30:in `start'
    from C:/Heroku/bin/heroku:29:in `<main>'

我想明白了。这与我在安装Heroku工具带后安装的Ruby版本有关。所以我只是卸载并重新安装了Heroku工具带,如下所示:

  1. 转到"添加/删除程序"并卸载Heroku工具栏
  2. 从安装Heroku工具栏https://toolbelt.heroku.com/
  3. 在命令行中键入heroku以安装工具带

我希望这能帮助到别人。

最新更新