美文网首页技术收藏其它技术点iOS开发技术
Xcode 10 关于 CocoaPods 安装失败的问题

Xcode 10 关于 CocoaPods 安装失败的问题

作者: 浅墨如痕 | 来源:发表于2018-09-23 22:59 被阅读471次

    在花费一个下午外加近 6 个 G 流量后, 终于装好了 Xcode 10, 美滋滋.

    我司网络实在不忍吐槽, 平时上班都是连热点在工作的痛你们懂吗...

    安装好之后就是各种踩坑之旅.

    首当其冲的就是 CocoaPods. 在一次执行 pod install 之后, Terminal 中显示了一大堆报错信息, 其中核心信息如下:

    RuntimeError - [!] Xcodeproj doesn't know about the following attributes {"inputFileListPaths"=>[], "outputFileListPaths"=>[]} for the 'PBXShellScriptBuildPhase' isa.
    

    google 一下之后发现是因为项目中使用到了 Run Script Phase, 而 inputFileListPathsoutputFileListPaths 是 Xcode 10 中新增的属性, 因此旧版本的 CocoaPods 无法解析. 所以, 最好的解决办法就是升级 CocoaPods.

    gem install cocoapods --pre
    

    此时又报错:

    Unable to download data from https://gems.ruby-china.org - bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)
    

    再次 google, 发现问题原因是本人使用的 gem 源是 ruby 中国, 而 ruby 中国由于域名备案问题换了域名, 所以原来的域名无法解析(404). 以下是 ruby 中国原网站上的公告:

    因域名备案问题,.org 域名无法继续提供 RubyGems 镜像服务,我们提供 .com 代替 .org 的域名,其他一切不变!!

    没办法, 只好换源咯.

    gem sources --add https://gems.ruby-china.com --remove https://gems.ruby-china.org
    

    再次安装 CocoaPods, 再次报错:

    You don't have write permissions for the /usr/bin directory.
    

    /usr/bin 没有写权限, 这是由于 macOS 10.11 之后增加了 rootless 机制, 导致即使在 root 权限下依然无法修改文件. 最终, 在网上找到一个解决办法, 即修改 CocoaPods 安装目录:

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

    查看安装结果:

    pod --version
    1.6.0.beta.1
    

    至此, CocoaPods 更新完成, 项目中也可以正常使用.

    相关文章

      网友评论

      • 乔尔0o0:谢谢你的文章。还提供一个思路,编辑项目文件,删掉其中的inputFileListPaths和outputFileListPaths这两个属性,也可以构建成功
        浅墨如痕:@乔尔0o0 不过作为官方推出的新特性,建议还是保留,万一后面有什么用呢:stuck_out_tongue_winking_eye:
      • 8bfca968135d:执行gem install cocoapods --pre -n /usr/local/bin 这句换路径还是提示没有权限修改怎么办?
        浅墨如痕:@许你一世柔情 不客气,可以就行,可能每个人的情况都有不同吧
        8bfca968135d:@DanielLam 完美解决,用sudo不需要换路径了,直接升级CocoaPods就行了,谢谢
        浅墨如痕:@许你一世柔情 sudo试试?

      本文标题:Xcode 10 关于 CocoaPods 安装失败的问题

      本文链接:https://www.haomeiwen.com/subject/uezqoftx.html