安裝cycript出錯:dyld: Library not loaded


安裝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 Integrity Protection ),它禁止讓軟件以 root 身份來在 Mac 上運行,在升級到 OS X 10.11 中或許你就會看到部分應用程序被禁用了,這些或許是你通過終端或者第三方軟件源安裝。對於大多數用戶來說,這種安全設置很方便,但是也有些開發者或者高級 Mac 用戶不需要這樣的設置。

  • 電腦重啟按住command+R,進入恢復模式
  • 打開終端,輸入csrutil disable,重啟
  • 如果想打開SIP,重復上兩步,命令改為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

注:根據每個人ruby版本不同,將上面第二條命令的/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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM