2013-07-08 79 views
0

环境:捆绑安装库不加载错误

  • 的Rails 3.2.11
  • Heroku的竹MRI-1.9.2
  • 使用RVM
  • 红宝石1.9.2-P290

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

当运行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/[email protected]/gems/bundler-1.3.5/lib/bundler/definition.rb:1:in `<top (required)>' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler.rb:148:in `definition' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/cli.rb:245:in `install' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `run' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor.rb:344:in `dispatch' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor/base.rb:434:in `start' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/bin/bundle:20:in `block in <top (required)>' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/bin/bundle:20:in `<top (required)>' 
    from /Users/joel/.rvm/gems/[email protected]/bin/bundle:19:in `load' 
    from /Users/joel/.rvm/gems/[email protected]/bin/bundle:19:in `<main>' 
    from /Users/joel/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `eval' 
    from /Users/joel/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `<main>' 

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

TRY 1

rvm pkg install openssl 

rvm reinstall all --force 

然后CD ..和CD project_folder

bundle install 

所有创业板安装重新正常

第一错误消失 但是当我移动到另一个项目使用红宝石1.9.3,我得到一个'新'错误,所以看起来我不能同时使用1.9.2和1.9.3 ...或者我将不得不每次重新安装我的宝石? ? ?我必须错过一些东西。

这里新的错误:

/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/[email protected]/gems/bundler-1.3.5/lib/bundler/definition.rb:1:in `<top (required)>' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler.rb:148:in `definition' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/cli.rb:301:in `update' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `run' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor.rb:344:in `dispatch' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/vendor/thor/base.rb:434:in `start' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/bin/bundle:20:in `block in <top (required)>' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors' 
    from /Users/joel/.rvm/gems/[email protected]/gems/bundler-1.3.5/bin/bundle:20:in `<top (required)>' 
    from /Users/joel/.rvm/gems/[email protected]/bin/bundle:19:in `load' 
    from /Users/joel/.rvm/gems/[email protected]/bin/bundle:19:in `<main>' 
    from /Users/joel/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `eval' 
    from /Users/joel/.rvm/gems/[email protected]/bin/ruby_noexec_wrapper:14:in `<main>' 
+1

是否存在'/ opt/local/lib/libcrypto.1.0.0.dylib'? – mipadi

+1

做[这些答案](http://stackoverflow.com/a/11231902/877472)帮助吗? –

+0

@mipadi没有这个库不存在,我一直在试图弄清楚它是否安装在任何其他地方。 – zabumba

回答

3

既然你提到你最近从MacPorts的搬到了自制,我会说这很可能是你有这样的被编译一个安装MacPorts的库某些宝石(in /opt/local)那不再存在了。您应该重新编译这些宝石,以便与Homebrew提供的这些库版本(或苹果版本,如果存在的话)链接。您可以使用本地组件重新编译gem,只需重新安装即可。