无法使用RubyGem 2.7.1

时间:2017-11-08 04:24:14

标签: rubygems cocoapods failed-installation

我的Cocoapods无效,因此我执行了以下命令:

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

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

    rm -rf ~/.cocoapods/
    
  3. 更新rubygem:

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

    sudo gem install cocoapods
    
  5. 然后我在步骤3和步骤4中得到了文件权限拒绝错误消息:

      

    Step3错误信息:
          ...
          ...
          在0秒后完成rubygems-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)
      我还在应用程序文件夹

    3. 中将XCode 7.3.1重命名为Xcode_7
    4. 环境路径:

      echo $PATH
      

      /Library/Frameworks/Python.framework/Versions/3.4/bin:
      在/ usr / local / bin目录:
      在/ usr / bin中:
      /斌:
      / usr / sbin目录:
      / sbin目录:
      /选择/ X11 / bin中:
      /Applications/Server.app/Contents/ServerRoot/usr/bin:
      /Applications/Server.app/Contents/ServerRoot/usr/sbin

    5. 自制:

      brew --version
      

      Homebrew 1.3.6
      Homebrew / homebrew-core(git revision 985b; last commit 2017-11-07)

      brew list
      

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

    6. RubyGems的:

      gem --version
      

      2.7.1

      gem list
      

      *本地宝石*
      activesupport(5.1.4,4.2.10)
      bigdecimal(1.3.2,默认值:1.2.8)
      CFPropertyList(2.3.5,2.2.8)
      claide(1.0.2)
      有色2(3.1.2)
      concurrent-ruby(1.0.5)
      did_you_mean(1.0.0)
      逃避(0.0.4)
      fourflusher(2.0.1)
      fuzzy_match(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)
      minitest(5.10.3)
      molinillo(0.6.4,0.5.7)
      纳奈莫(0.2.3)
      小睡(1.1.0)
      net-telnet(0.1.1)
      netrc(0.11.0)
      nokogiri(1.5.6)
      power_assert(1.1.1)
      psych(2.2.4,默认值:2.1.0)
      耙(12.2.1,10.4.2)
      rdoc(5.1.0,默认值:4.2.1)
      ruby-macho(1.1.0)
      rubygems-update(2.7.1)
      sqlite3(1.3.11)
      测试单元(3.2.6)
      thread_safe(0.3.6)
      tzinfo(1.2.4)
      xcodeproj(1.5.3)

2 个答案:

答案 0 :(得分:26)

这最终为我工作。

运行 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脚本清理以前的cocoapods,但是在重新安装时不应该有所作为。

答案 1 :(得分:4)

我认为Hjalmar的答案确实有效。但是我最终使用Homebrew来安装Ruby,一切都适合我。只需输入:

brew install ruby

在终端。