【问题标题】:Image not found for patron gem when running rails运行铁轨时找不到守护神宝石的图像
【发布时间】:2021-04-27 15:14:11
【问题描述】:

尝试在我的应用程序中运行一些 rails 命令时出现以下错误。

我将 ruby​​ 2.6.6 升级到 2.7.3(我使用 rbenv)并从 2.0.2 捆绑到 2.1.4,这样做

 brew update && brew upgrade ruby-build
 rbenv install 2.7.3
 gem install bundler:2.1.4
 bundle install

现在,当我运行任何 rails 命令(例如:rails c)时,我会收到此错误:

/Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require': dlopen(/Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/patron-0.13.3/lib/patron/session_ext.bundle, 9): Library not loaded: @rpath/libssh2.1.dylib
  Referenced from: /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/patron-0.13.3/lib/patron/session_ext.bundle
  Reason: image not found - /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/patron-0.13.3/lib/patron/session_ext.bundle (LoadError)
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies.rb:324:in `block in require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies.rb:291:in `load_dependency'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies.rb:324:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/patron-0.13.3/lib/patron/session.rb:6:in `<main>'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies.rb:324:in `block in require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies.rb:291:in `load_dependency'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.6/lib/active_support/dependencies.rb:324:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/patron-0.13.3/lib/patron.rb:5:in `<main>'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bootsnap-1.7.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/lib/bundler/runtime.rb:74:in `block (2 levels) in require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `each'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/lib/bundler/runtime.rb:69:in `block in require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `each'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/lib/bundler/runtime.rb:58:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/bundler-2.1.4/lib/bundler.rb:174:in `require'
    from /Users/asceta/Projects/Fintual/monolith/config/application.rb:10:in `<top (required)>'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:92:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:92:in `preload'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:157:in `serve'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:145:in `block in run'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `loop'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application.rb:139:in `run'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/gems/2.7.0/gems/spring-2.1.1/lib/spring/application/boot.rb:19:in `<top (required)>'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
    from /Users/asceta/.rbenv/versions/2.7.3/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
    from -e:1:in `<main>'

我尝试过的:

  1. 这个answer
  2. 重新安装 rbenv
  3. 使用 gem uninstall patron &amp;&amp; gem install patron 手动卸载和安装赞助者 gem
  4. brew reinstall openssl@1.1重新安装openssl

当我从 GemfileGemfile.lock 手动删除赞助宝石时,一切正常,但我需要赞助宝石。

作为最后的措施,我尝试删除 rbenv 并使用 RVM:Ruby Version Manager,但我想避免这种情况并继续使用 rbenv

【问题讨论】:

    标签: ruby-on-rails rubygems gemfile gemfile.lock


    【解决方案1】:

    接下来我会尝试:

    • 改为运行bundle exec rails c
    • 查看which openssl返回的内容,这可能表明您安装了不同的版本(我的显示/usr/bin/openssl
    • 确保您从存储库目录执行所有操作。

    【讨论】:

    • 成功了!我有指向/Users/asceta/anaconda3/bin/openssl的openssl,我从.zshrczshrc.pre-oh-my-zsh中删除了与anaconda相关的所有内容,然后在repo目录上执行git checkout master &amp;&amp; git pull &amp;&amp; bundle &amp;&amp; yarn,它开始工作了!谢谢
    猜你喜欢
    • 2012-11-08
    • 2010-12-18
    • 2018-09-13
    • 2011-07-13
    • 2014-10-08
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 2016-01-07
    相关资源
    最近更新 更多