解除安裝rvm,解除安裝rvm安裝的ruby以及解決相關問題
阿新 • • 發佈:2019-02-16
背景:系統為macos,自帶ruby版本較低,因為工具需要安裝flick程式
安裝flick時有報錯,但是最後也顯示安裝成功了,但是無法執行,
/usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi_c.bundle, 9): Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.dylib (LoadError) Referenced from: /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi_c.bundle Reason: image not found - /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi_c.bundle from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi.rb:6:in `rescue in <top (required)>' from /usr/local/lib/ruby/gems/2.3.0/gems/ffi-1.9.14/lib/ffi.rb:3:in `<top (required)>' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/lib/ruby/gems/2.3.0/gems/sys-proctable-1.1.1-universal-darwin/lib/darwin/sys/proctable.rb:2:in `<top (required)>' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require' from /usr/local/lib/ruby/gems/2.3.0/gems/flick-0.3.2/lib/flick.rb:8:in `<top (required)>' from /usr/local/lib/ruby/gems/2.3.0/gems/flick-0.3.2/bin/flick:2:in `require_relative' from /usr/local/lib/ruby/gems/2.3.0/gems/flick-0.3.2/bin/flick:2:in `<top (required)>' from /usr/local/bin/flick:22:in `load' from /usr/local/bin/flick:22:in `<main>'
分析後覺得可能是ruby版本太低,需要升級ruby,這時走了彎路,從網上看升級ruby都需要用到rvm工具,所以裝了rvm,然後 rvm install 2.4.2,安裝了對應的ruby版本,然後安裝了flick,命令列執行flick也沒有問題,但是程式中執行時報錯:
/usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': incompatible library version - /Users/haier/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.23/lib/ffi_c.bundle (fatal) from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.23/lib/ffi.rb:6:in `rescue in <top (required)>' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/ffi-1.9.23/lib/ffi.rb:3:in `<top (required)>' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/sys-proctable-1.2.0/lib/darwin/sys/proctable.rb:2:in `<top (required)>' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/sys-proctable-1.2.0/lib/sys/proctable.rb:7:in `require_relative' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/sys-proctable-1.2.0/lib/sys/proctable.rb:7:in `<top (required)>' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `require' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:127:in `rescue in require' from /usr/local/Cellar/ruby23/2.3.3/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/flick-0.4.4/lib/flick.rb:8:in `<top (required)>' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/flick-0.4.4/bin/flick:2:in `require_relative' from /Users/haier/.rvm/gems/ruby-2.4.2/gems/flick-0.4.4/bin/flick:2:in `<top (required)>' from /usr/local/bin/flick:22:in `load' from /usr/local/bin/flick:22:in `<main>'
提示lib庫衝突,仔細看發現有兩個版本的ruby,修改了預設ruby版本也沒有解決。於是按照下面文章的步驟解除安裝rvm和後來安裝的ruby:http://blog.csdn.net/maojudong/article/details/7918234
仔細刪除了所有的環境變數和資料夾,重新brew upgrade ruby, 安裝flick,再執行仍然報錯:
/usr/local/Cellar/ruby/2.5.0_2/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem flick (>= 0.a) with executable flick (Gem::GemNotFoundException) from /usr/local/Cellar/ruby/2.5.0_2/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path' from /usr/local/bin/flick:23:in `<main>'
然後按照下面步驟執行:
$ which flick
/usr/local/bin/flick
$ rm -rf /usr/local/bin/flick
$ which flick
$ gem list
$ gem uninstall flick -v 0.4.4
$ gem install flick
再執行就可以了