我一直遇到berkshelf的一般问题,即依赖性求解器问题,你可以阅读更多关于here
的信息现在问题已经解决了,我刚刚尝试进行捆绑安装/更新和berks安装来试用新的依赖解算器,但是当我安装berks时出现了一个奇怪的错误:
➜ deployment git:(master) ✗ berks install
/usr/local/rvm/gems/ruby-1.9.3-p484@global/gems/ffi-1.9.3/lib/ffi/library.rb:133:in `block in ffi_lib': Could not open library '/usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_gecode.bundle': dlopen(/usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_gecode.bundle, 5): Symbol not found: __ZN6Gecode16ValBranchOptions3defE (LoadError)
Referenced from: /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_gecode.bundle
Expected in: flat namespace
in /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_gecode.bundle
from /usr/local/rvm/gems/ruby-1.9.3-p484@global/gems/ffi-1.9.3/lib/ffi/library.rb:100:in `map'
from /usr/local/rvm/gems/ruby-1.9.3-p484@global/gems/ffi-1.9.3/lib/ffi/library.rb:100:in `ffi_lib'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/dep_gecode.rb:33:in `<module:Dep_gecode>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/dep_gecode.rb:21:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/gecode_wrapper.rb:21:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/gecode_wrapper.rb:21:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/dependency_graph.rb:21:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/dependency_graph.rb:21:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/selector.rb:21:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector/selector.rb:21:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector.rb:22:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/dep_selector-1.0.0.alpha.2/lib/dep_selector.rb:22:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/solve-1.0.0.rc1/lib/solve/solver.rb:1:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/solve-1.0.0.rc1/lib/solve/solver.rb:1:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/solve-1.0.0.rc1/lib/solve.rb:10:in `require_relative'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/solve-1.0.0.rc1/lib/solve.rb:10:in `<module:Solve>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/gems/solve-1.0.0.rc1/lib/solve.rb:3:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bundler/gems/berkshelf-7060813e4887/lib/berkshelf.rb:8:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bundler/gems/berkshelf-7060813e4887/lib/berkshelf.rb:8:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bundler/gems/berkshelf-7060813e4887/lib/berkshelf/cli.rb:1:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bundler/gems/berkshelf-7060813e4887/lib/berkshelf/cli.rb:1:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bundler/gems/berkshelf-7060813e4887/bin/berks:3:in `require'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bundler/gems/berkshelf-7060813e4887/bin/berks:3:in `<top (required)>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bin/berks:23:in `load'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bin/berks:23:in `<main>'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `eval'
from /usr/local/rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>'
现在我对Ruby知之甚少,但我对C ++有一些经验,我永远不会忘记这些类型的库链接问题。唯一的问题是我真的不知道我应该用这个做什么!?
我在Mac上,所以我使用自制软件安装了Gecode。我尝试卸载它并重新安装几次,我甚至尝试了this article但它似乎没有改变任何东西。
非常感谢任何建议,谢谢!
答案 0 :(得分:2)
我看到了相同的症状,并对其进行了一些研究。通过切换gecode版本来实现它:
brew switch gecode 3.7.3
然后卸载了令人讨厌的宝石:
gem uninstall berkshelf
gem uninstall solve
gem uninstall dep_selector
最后重新安装bershelf:
gem install berkshelf