如何解决 xcpretty 未捕获异常

How to solve xcpretty uncaught Exception

我已经尝试在 3-4 小时内解决这个问题,但还没有得到任何答案。

运行 : $gem 安装 xcpretty

显示如下错误:

错误: 执行时 gem ... (Errno::EACCES) 权限被拒绝 @ rb_sysopen - /Library/Ruby/Gems/2.3.0/gems/rouge-2.0.7/Gemfile

并遇到 ruby 升级问题,然后安装 ruby 新版本。

运行 : $sudo gem 安装 xcpretty

然后显示如下错误:

正在获取:rouge-2.0.7.gem (100%)

错误: 执行时 gem ... (Gem::FilePermissionError) 您没有 /Library/Ruby/Gems/2.3.0 目录的写入权限。

然后 遇到 gem 升级问题,并通过升级解决 gem。

再次尝试以及使用以下命令 运行 : sudo gem 安装 xcpretty --verbose

即使使用 'sudo chmod -R 777' 也进入我的 /usr/bin 目录

但仍然得到:

正在获取:rouge-2.0.7.gem (100%)

错误: 执行时 gem ... (Gem::FilePermissionError) 您没有 /usr/bin 目录的写入权限。

经过优质时间研究后,我没有得到任何解决方案,但我自定义的以下代码对我来说工作正常。

sudo gem install -n /usr/local/bin xcpretty

should never use sudo to install gems,无论您在 Stack Overflow 上将其视为可接受的答案多少次。

此“写入权限”错误反复出现,是由于 Ruby 环境配置不当造成的。在具有适当 Ruby 开发环境的 Mac 上安装 gems 的安全方法涉及六个高级步骤:

  1. 安装 Homebrew(同时安装必备的 Apple 命令行工具)
  2. 安装 Ruby 管理器(例如 chruby、rbenv、asdf、RVM)- 其中大部分可以使用 Homebrew 安装
  3. 通过将适当的行添加到您的 shell 文件(~/.bash_profile~/.zshrc)来配置 Ruby 管理器 - 每个管理器都会有执行此操作的说明,并且这是人们错过的典型步骤
  4. 重新启动终端(或打开一个新选项卡)以使 shell 更改生效 - 另一个经常被忽视的步骤
  5. 使用 Ruby 管理器
  6. 安装特定版本的 Ruby
  7. 使用 Ruby 管理器
  8. 切换到 Ruby 的那个版本

我个人的偏好是chruby with ruby-install。有关更多详细信息和可以自动执行整个过程的脚本,请在此处查看我的回答: