配置cycript环境变量及遇到的问题

包已经解压了,但是只能输入绝对路径或者相对路径才能执行,想要直接输入命令执行需要配置环境变量

  1. 启动终端Terminal
  2. 进入当前用户的home目录
$ cd ~
  1. 创建.bash_profile(如果有该文件跳过此步骤)
$ touch .bash_profile
  1. 编辑.bash_profile文件
$ open -e .bash_profile
或者喜欢vim的同学
$ vim .bash_profile

增加相对应的绝对路径,例如:(可能每个人电脑配置不一样)

export cycript_src="你的cycript绝对路径"
PATH=$PATH:$cycript_src
  1. 保存文件,关闭.bash_profile
  2. 更新刚配置的环境变量
$ source .bash_profile
  1. 验证配置是否成功
$ cycript

8.因为是iterm2+oh my zsh组合,需要在.zshrc配置文件中导入

$ open -e .zshrc
或者
$ vim .zshrc

在里面加入source .bash_profile这行命令,这样每次打开就不用手动执行了

搞定!


执行后遇到了这个问题:

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版本

$ ruby -v

我电脑上的版本是2.3

感谢楼里的兄弟提醒,有可能你的电脑安装了rvm,用ruby -v命令查看的是指定的ruby版本,正确做法应该是cd到/System/Library/Frameworks/Ruby.framework/Versions/ 目录下查看具体版本

具体命令:

$ 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运行起来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,481评论 0 5
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,598评论 9 467
  • 说明,本文所使用的机器是:SUSE Linux Enterprise。 问题定位 这看起来像是环境变量引起的问题,...
    lework阅读 2,965评论 6 11
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,239评论 2 33
  • 书品即人品的外在体现和内在诠释。 爱书既体现了自己希望通过读书提升境界、了解信息、增长知识,与世界和谐相处的追求;...
    冰珊醉红楼阅读 765评论 0 9