美文网首页
macOS cycript安装和配置环境变量遇到的问题

macOS cycript安装和配置环境变量遇到的问题

作者: 冰点雨 | 来源:发表于2023-02-05 15:27 被阅读0次

    cycript安装

    1.下载资源
    Cycript 官方完整

    2.将资源放到指定位置


    99CB4861-6FB8-4D2A-8281-108222E75431.png

    3.配置环境变量

    (1)编辑.base_profile文件

        $ vim ~/.bash_profile
    

    增加相对应的绝对路径,点击shift + i进入编辑模式,输入一些代码,其中cycript_src='你的 cycript资源所在的绝对路径'

        export cycript_src=/opt/cycript_0.9.594/
        export PATH=$PATH:$cycript_src
    

    输入:wq退出编辑

    更新刚配置的环境变量

        $ source .bash_profile
    

    (2)配置.zshrc

    更上述配置同样的方法,在.zshrc中添加
    Source /Users/apple/.bash_profile
    进行保存即可

    配置环境变量遇到的问题

    报错

    321C9CF9-F708-4F35-879D-6BC5E2B2F67B.png
    dyld[21409]: Library not loaded: '/System/Library/Frameworks/Python.framework/Versions/2.7/Python'
      Referenced from: '/opt/cycript_0.9.594/Cycript.lib/cycript-apl'
      Reason: tried: '/System/Library/Frameworks/Python.framework/Versions/2.7/Python' (no such file), '/Library/Frameworks/Python.framework/Versions/2.7/Python' (no such file)
    [1]    21409 abort      cycript
    

    是因为 Apple 在 macOS Monterey 12.3 开始,移除了随系统发行的 Python 2.7导致的

    解决方法

    手动安装Python 2.7

    下载Python 2.7.18并安装

    安装成功后,遇到如下报错

    报错

     ✘ 🤡  ~  cycript
    zsh: command not found: cycript
    

    解决方法

    查看.bash_profile环境变量

     🤡  ~  cat .bash_profile
        export cycript_src=/opt/cycript_0.9.594/
        export PATH=$PATH:$cycript_src
    

    把.bash_profile的环境变量复制到.zshrc中

    vim .zshrc
    
     export cycript_src=/opt/cycript_0.9.594/
     export PATH=$PATH:$cycript_src
    

    生效配置

    source .zshrc
    

    执行cycript命令,遇到如下错误

    报错

    image.png
     🤡  ~  cycript        
    dyld[23644]: Library not loaded: '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib'
      Referenced from: '/opt/cycript_0.9.594/Cycript.lib/cycript-apl'
      Reason: tried: '/opt/cycript_0.9.594//Cycript.lib/libruby.2.0.0.dylib' (no such file), '/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib' (no such file), '/usr/local/lib/libruby.2.0.0.dylib' (no such file), '/usr/lib/libruby.2.0.0.dylib' (no such file)
    [1]    23644 abort      cycript
    

    这个错误是因为电脑的ruby版本太高导致

    解决方法

    1.查看电脑ruby版本
     🤡  ~  ruby -v
    ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]
    

    如果电脑安装了rvm,用如下命令查看版本

     🤡  ~  cd /System/Library/Frameworks/Ruby.framework/Versions/
     🤡  /System/Library/Frameworks/Ruby.framework/Versions  ls
    2.6     Current
    
    2.关闭系统的SIP

    在 OS X El Capitan 中有一个跟安全相关的模式叫 SIP(System Integrity Protection ),它禁止让软件以 root 身份来在 Mac 上运行,在升级到 OS X 10.11 中或许你就会看到部分应用程序被禁用了,这些或许是你通过终端或者第三方软件源安装。对于大多数用户来说,这种安全设置很方便,但是也有些开发者或者高级 Mac 用户不需要这样的设置。

    (1) 电脑重启按住command+R,进入恢复模式
    (2) 打开终端,输入csrutil disable,重启
    (3) 如果想打开SIP,重复上两步,命令改为csrutil enable

    3.直接把2.6的复制一份,改为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.6/usr/lib/libruby.2.6.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.6/usr/lib/libruby.2.6.0.dylib的2.6改为自己的ruby版本
    这里不是降级ruby,只是复制一份2.0的ruby的dylib,让cycript运行起来。

    再在控制台输入命令

     🤡  ~  cycript   
    

    运行后出现如下,则安装成功

    cy#
    

    本文章参考:《配置cycript环境变量及遇到的问题》

    相关文章

      网友评论

          本文标题:macOS cycript安装和配置环境变量遇到的问题

          本文链接:https://www.haomeiwen.com/subject/fnwahdtx.html