如何解决xcpretty未捕获的异常

时间:2019-01-15 16:13:10

标签: ruby xcode rubygems

我一直试图在3-4个小时内解决此问题,但尚未得到任何答案。

运行:$ gem install xcpretty

它显示以下错误:

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

并获得红宝石升级问题,然后以更新版本重新安装了ruby。

运行:$ sudo gem install xcpretty

然后显示以下错误:

获取:胭脂2.0.7.gem(100%)

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

然后遇到宝石升级问题,并通过升级宝石来解决。

再次尝试

以及以下命令 运行:sudo gem install xcpretty --verbose

即使已将'sudo chmod -R 777'也用于我的/ usr / bin目录

但仍然得到:

获取:胭脂2.0.7.gem(100%)

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

2 个答案:

答案 0 :(得分:1)

经过大量的时间研究后,我没有得到任何解决方案,但下面自定义的代码对我来说很好用。

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

答案 1 :(得分:0)

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. 重新启动终端(或打开一个新选项卡)以使外壳更改生效 - 另一个经常被忽视的步骤
  5. 使用 Ruby 管理器安装特定版本的 Ruby
  6. 使用 Ruby 管理器切换到该版本的 Ruby

我的个人偏好是 chrubyruby-install。有关更多详细信息和可以自动化整个过程的脚本,请在此处查看我的答案: https://stackoverflow.com/a/54873916/928191