cycriptのインストールエラー:dyld:Library not loaded

1776 ワード

cycriptをインストールしたら、コンソールにコマンドを入力します
$ /opt/cycript_0.9.594
$ ./cycript

実行後にこの問題が発生しました.
dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /Users/devzkn/Downloads/cycript_0.9.594/Cycript.lib/cycript-apl
  Reason: image not found

このエラーは、コンピュータのrubyバージョンが高すぎるためです.

1.まずパソコンのrubyバージョンを見る


具体的なコマンド:
$ cd /System/Library/Frameworks/Ruby.framework/Versions/
$ ls


2.システムのSIPを閉じる


OS X El Capitanには、セキュリティに関連するモードがSIP(System Integraty Protection)と呼ばれています.これは、ソフトウェアをrootとしてMac上で実行することを禁止しています.OS X 10.11にアップグレードすると、一部のアプリケーションが無効になっているのを見ることができます.これらは、エンドエンドまたはサードパーティのソフトウェアソースでインストールされている可能性があります.多くのユーザーにとって、このセキュリティ設定は便利ですが、開発者や高度なMacユーザーにはこのような設定は必要ありません.
  • コンピュータは再びcommand+Rを押して、回復モードの
  • に入ります
  • 端末を開き、csrutil disableを入力し、
  • を再起動する.
  • SIPを開くには、前の2ステップを繰り返すと、コマンドはcsrutil enable
  • に変更される.

    3.2.3のコピーをそのまま2.0に変更すればよい


    次のコマンドを実行します.
    sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/
    sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
    
    

    注意:上記の2番目のコマンドの/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylibの2.3を、rubyバージョンごとに変更します.ここではダウングレードrubyではなく、2.0のrubyのdylibをコピーしてcycriptを実行します.
    コンソールにコマンドを再入力
    $ /opt/cycript_0.9.594
    $ ./cycript
    

    実行後、インストールに成功しました.
    cy#
    

    参照先:https://www.jianshu.com/p/f771310ea2e9 https://www.jianshu.com/p/dff9d05d67a8