捆绑安装库未加载错误

时间:2022-09-18 23:07:00

Environment:

  • Rails 3.2.11
  • Heroku bamboo-mri-1.9.2
  • Using RVM
  • ruby-1.9.2-p290

my .rvmrc is configured to use ruby-1.9.2-p290

我的.rvmrc配置为使用ruby-1.9.2-p290

When running the bundle install command, I am getting this:

运行bundle install命令时,我得到了这个:

/Users/joel/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': dlopen(/Users/joel/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/x86_64-darwin11.4.2/digest/sha1.bundle, 9): Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib (LoadError)
  Referenced from: /Users/joel/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/x86_64-darwin11.4.2/digest/sha1.bundle
  Reason: image not found - /Users/joel/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/x86_64-darwin11.4.2/digest/sha1.bundle
    from /Users/joel/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler/definition.rb:1:in `<top (required)>'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler.rb:148:in `definition'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler/cli.rb:245:in `install'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `run'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler/vendor/thor.rb:344:in `dispatch'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/base.rb:434:in `start'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/bin/bundle:20:in `block in <top (required)>'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.3.5/bin/bundle:20:in `<top (required)>'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/bin/bundle:19:in `load'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/bin/bundle:19:in `<main>'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/joel/.rvm/gems/ruby-1.9.2-p290@global/bin/ruby_noexec_wrapper:14:in `<main>'

Any ideas on how to resolve this?

关于如何解决这个问题的任何想法?

TRY 1

rvm pkg install openssl

rvm reinstall all --force

then cd .. and cd project_folder

然后cd ..和cd project_folder

bundle install

All gem install again properly

所有宝石再次正确安装

the first error is gone BUT when I move into another project using ruby 1.9.3, I get a 'new' error, so it seems like I won't be able to use at the same time 1.9.2 and 1.9.3 ... or I'll have to reinstall my gems everytime ??? I must missing something.

第一个错误消失但是当我使用ruby 1.9.3进入另一个项目时,我得到一个“新”错误,所以我似乎无法同时使用1.9.2和1.9.3。 ..或者我每次都要重新安装我的宝石???我必须遗漏一些东西。

here the new error:

这里出现了新的错误:

/Users/joel/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': dlopen(/Users/joel/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/1.9.1/x86_64-darwin11.4.2/digest/sha1.bundle, 9): Symbol not found: _rb_Digest_SHA1_Finish (LoadError)
  Referenced from: /Users/joel/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/1.9.1/x86_64-darwin11.4.2/digest/sha1.bundle
  Expected in: flat namespace
 in /Users/joel/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/1.9.1/x86_64-darwin11.4.2/digest/sha1.bundle - /Users/joel/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/1.9.1/x86_64-darwin11.4.2/digest/sha1.bundle
    from /Users/joel/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/definition.rb:1:in `<top (required)>'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler.rb:148:in `definition'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/cli.rb:301:in `update'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `run'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/vendor/thor.rb:344:in `dispatch'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/vendor/thor/base.rb:434:in `start'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/bin/bundle:20:in `block in <top (required)>'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/gems/bundler-1.3.5/bin/bundle:20:in `<top (required)>'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/bin/bundle:19:in `load'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@global/bin/bundle:19:in `<main>'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@creativebank/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/joel/.rvm/gems/ruby-1.9.3-p429@creativebank/bin/ruby_noexec_wrapper:14:in `<main>'

1 个解决方案

#1


3  

Since you mentioned you recently moved from MacPorts to Homebrew, I'd say it's likely that you had some gems that were compiled against a MacPorts-installed library (in /opt/local) that doesn't exist anymore. You should recompile those gems to link against the Homebrew-supplied versions of those libraries (or the Apple ones, if they exist). You can recompile a gem with native components simply be re-installing it.

既然你提到你最近从MacPorts转移到Homebrew,我会说你可能有一些宝石是针对MacPorts安装的库(在/ opt / local)编译的,不再存在。您应该重新编译这些宝石以链接这些库的Homebrew提供的版本(或者如果它们存在的Apple库)。您可以使用本机组件重新编译gem只需重新安装它。

#1


3  

Since you mentioned you recently moved from MacPorts to Homebrew, I'd say it's likely that you had some gems that were compiled against a MacPorts-installed library (in /opt/local) that doesn't exist anymore. You should recompile those gems to link against the Homebrew-supplied versions of those libraries (or the Apple ones, if they exist). You can recompile a gem with native components simply be re-installing it.

既然你提到你最近从MacPorts转移到Homebrew,我会说你可能有一些宝石是针对MacPorts安装的库(在/ opt / local)编译的,不再存在。您应该重新编译这些宝石以链接这些库的Homebrew提供的版本(或者如果它们存在的Apple库)。您可以使用本机组件重新编译gem只需重新安装它。