无法使用RubyGem 2.7.1安装Cocoapods

Lee*_*aul 9 rubygems failed-installation cocoapods

我的Cocoapods无法正常工作,因此我执行了以下命令:

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

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

    rm -rf ~/.cocoapods/
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更新rubygem:

    sudo gem update --system
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重新安装cocoapods:

    sudo gem install cocoapods
    
    Run Code Online (Sandbox Code Playgroud)

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

第三步错误消息:
...
...
完成安装文档RubyGems的更新0秒后
安装的RubyGems 2.7.1
错误:在执行宝石...(错误:: EPERM)
不允许操作@ rb_sysopen - /系统/库/框架/ Ruby.framework /版本/ 2.3的/ usr/bin中/宝石

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. OS:

    macOS High Sierra 10.13.1

  2. Xcode中:

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

  3. 环境路径:

    echo $PATH
    
    Run Code Online (Sandbox Code Playgroud)

    /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
    
    Run Code Online (Sandbox Code Playgroud)

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

    brew list
    
    Run Code Online (Sandbox Code Playgroud)

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

  5. RubyGems的:

    gem --version
    
    Run Code Online (Sandbox Code Playgroud)

    2.7.1

    gem list
    
    Run Code Online (Sandbox Code Playgroud)

    *LOCAL GEMS*
    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)
    colored2(3.1.2)
    并发 - ruby(1.0.5)
    did_you_mean(1.0.0)
    escape(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)nanaimo
    (0.2.3)
    nap(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)
    rake(
    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)

Hja*_*mar 31

这最终为我工作.

还从运行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
Run Code Online (Sandbox Code Playgroud)

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

而不是跑步

sudo gem install cocoapods
Run Code Online (Sandbox Code Playgroud)

尝试

sudo gem install -n /usr/local/bin cocoapods
Run Code Online (Sandbox Code Playgroud)

最终为我工作!没有像你在第1步中所做的那样使用bash-script清理以前的cocoapods,但是在重新安装时不应该有所作为.

  • **再次执行相同的命令**是解决方案!不敢相信我必须在互联网上搜索。:) (3认同)

Lee*_*aul 5

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

brew install ruby
Run Code Online (Sandbox Code Playgroud)

在终端。

  • 您可能需要运行“brew link --overwrite ruby​​”来启用brew版本。 (2认同)