【问题标题】:Can not install Cocoapods with RubyGem 2.7.1无法使用 RubyGem 2.7.1 安装 Cocoapods
【发布时间】:2018-04-20 15:50:15
【问题描述】:

我的 Cocoapods 没有工作,因此我执行了以下命令:

  1. 运行此 bash 脚本以删除所有相关的 gem:

    for i in $( gem list --local --no-version | grep cocoapods );
    do 
        sudo gem uninstall $i; 
    done
    
  2. delete ~/.cocoapods 以移除 podspecs 的缓存。:

    rm -rf ~/.cocoapods/
    
  3. 更新 ruby​​gem:

    sudo gem update --system
    
  4. 重新安装 cocoapods:

    sudo gem install cocoapods
    

然后我在步骤 3 和步骤 4 中收到文件权限拒绝错误消息:

Step3 错误信息:
...
...
0 秒后完成安装 ruby​​gems-update 的文档
安装 RubyGems 2.7.1
错误:执行 gem 时 ... (Errno::EPERM)
不允许操作 @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem

Step4 错误信息:
获取:cocoapods-core-1.3.1.gem (100%)
成功安装 cocoapods-core-1.3.1
获取:cocoapods-deintegrate-1.0.1.gem (100%)
成功安装 cocoapods-deintegrate-1.0.1
获取:cocoapods-downloader-1.1.3.gem (100%)
成功安装cocoapods-downloader-1.1.3
获取:cocoapods-plugins-1.0.0.gem (100%)
成功安装 cocoapods-plugins-1.0.0
获取:cocoapods-search-1.0.0.gem (100%)
成功安装 cocoapods-search-1.0.0
获取:cocoapods-stats-1.0.0.gem (100%)
成功安装 cocoapods-stats-1.0.0
获取:cocoapods-trunk-1.3.0.gem (100%)
成功安装cocoapods-trunk-1.3.0
获取:cocoapods-try-1.1.0.gem (100%)
成功安装cocoapods-try-1.1.0
错误:执行 gem 时 ... (Gem::FilePermissionError) 您没有 /usr/bin 目录的写入权限。

我对 Linux/OSX 文件系统了解有限,不知道出了什么问题。

以下是关于我的计算机的信息:

  1. 操作系统:

    macOS High Sierra 10.13.1

  2. Xcode:

    版本 9.0.1 (9A1004)
    我还在应用程序文件夹中将 XCode 7.3.1 重命名为 Xcode_7

  3. 环境路径:

    echo $PATH
    

    /Library/Frameworks/Python.framework/Versions/3.4/bin:
    /usr/local/bin:
    /usr/bin:
    /bin:
    /usr/sbin:
    /sbin:
    /opt/X11/bin:
    /Applications/Server.app/Contents/ServerRoot/usr/bin:
    /Applications/Server.app/Contents/ServerRoot/usr/sbin

  4. 自制:

    brew --version
    

    自制 1.3.6
    Homebrew/homebrew-core(git 修订版 985b;最后一次提交 2017-11-07)

    brew list
    

    cmake libxml2 ninja pkg-config readline wget gdbm libyaml openssl python3 sqlite xz

  5. RubyGems:

    gem --version
    

    2.7.1

    gem list
    

    * 本地宝石 *
    主动支持(5.1.4、4.2.10)
    bigdecimal(1.3.2,默认值:1.2.8)
    CFPropertyList (2.3.5, 2.2.8)
    克莱德 (1.0.2)
    彩色2 (3.1.2)
    并发红宝石 (1.0.5)
    did_you_mean (1.0.0)
    逃脱 (0.0.4)
    四冲洗器 (2.0.1)
    模糊匹配 (2.1.0, 2.0.4)
    gh_inspector (1.0.3)
    i18n (0.9.1)
    io-console (0.4.6, 默认: 0.4.5)
    json (2.1.0, 默认: 1.8.3)
    libxml-ruby (3.0.0, 2.9.0)
    mini_portile2 (2.3.0)
    迷你测试 (5.10.3)
    molinillo (0.6.4, 0.5.7)
    纳奈莫 (0.2.3)
    午睡 (1.1.0)
    网络远程登录 (0.1.1)
    netrc (0.11.0)
    nokogiri (1.5.6)
    power_assert (1.1.1)
    心理(2.2.4,默认:2.1.0)
    耙子 (12.2.1, 10.4.2)
    rdoc (5.1.0, 默认: 4.2.1)
    红宝石男子气概 (1.1.0)
    rubygems 更新 (2.7.1)
    sqlite3 (1.3.11)
    测试单元 (3.2.6)
    线程安全 (0.3.6)
    tzinfo (1.2.4)
    xcodeproj (1.5.3)

【问题讨论】:

  • 这里有同样的问题...

标签: rubygems cocoapods failed-installation


【解决方案1】:

这最终对我有用。

运行 sudo gem update --system

时也会出现 Ruby 重新安装错误
ERROR:  While executing gem ... (Errno::EPERM)
            Operation not permitted @ rb_sysopen - 
        /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem

然后我再次尝试执行相同的命令(sudo gem update --system)并得到最新版本已经安装。完成。

而不是运行

sudo gem install cocoapods

试试

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

最终为我工作! 虽然没有像您在步骤 1 中那样使用 bash 脚本清理以前的 cocoapod,但在重新安装时应该不会有所作为。

【讨论】:

  • nokogiri 也一样:sudo gem install nokogiri -v '1.8.2' -n /usr/local/bin 谢谢!
  • 再次执行相同的命令是解决方案!不敢相信我不得不在互联网上搜索。 :)
【解决方案2】:

我认为 Hjalmar 的回答确实有效。但是我最终使用 Homebrew 来安装 Ruby,一切对我来说都很好。只需输入:

brew install ruby

在终端中。

【讨论】:

  • 您可能需要运行 brew link --overwrite ruby 来启用 brew 版本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-24
  • 1970-01-01
  • 2014-01-14
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多