【问题标题】:Cocoapods error: 'Unable to read the license file'Cocoapods 错误:“无法读取许可证文件”
【发布时间】:2014-07-28 05:11:56
【问题描述】:

当我输入时

pods install

pods update

我收到一个库的以下错误:

无法读取规范 OHAttributedLabel (3.5.3) 的许可证文件 /Users/me/Documents/project/myproject/company/myproduct/Pods/OHAttributedLabel/OHAttributedLabel/LICENSE

有人知道为什么吗?有人建议我:

pod repo remove master
pod setup

无济于事

【问题讨论】:

    标签: ios objective-c cocoapods


    【解决方案1】:

    在我的情况下,这与我团队中的某个人将他们的 .xcworkspace 文件提交到存储库有关,这意味着运行 pod install 给了我许可证警告,但同时没有正确安装我的 pod。

    我就是这样解决的:

    1. 首先关闭 Xcode。
    2. 列表项
    3. 从您的项目中删除 Pods 文件夹
    4. 删除.xcworkspace文件,
    5. 删除Podfile.lock文件
    6. 最后,最好删除DerivedData 文件夹

    现在运行pod install,问题应该会得到解决。

    【讨论】:

    • “列表项”是什么意思
    • @Jeremy 我认为他的意思是通过项目路径在终端中执行ls 命令。
    • 谢谢,但我认为没有必要删除.xcworkspace文件。
    • 我仍然收到错误
    【解决方案2】:

    我今天刚遇到这个问题,似乎是由于我的缓存以某种方式损坏造成的;也许是字符集问题?不知道,但对我有用的解决方案是the bash script in this Gist

    它会清除 cocoapods 缓存,以便您在下次运行 pod install 时获得所有需要的新副本。立即解决了我的问题,证实了我的怀疑,此后再也没有发生过。

    【讨论】:

    • 我遇到了同样的错误消息,这是一个真正的问题 b/c 我无法再编译。 MattMatt 的解决方案为我解决了这个问题。 (注意:我在上面和其他地方看到的更改 ruby​​ 版本并没有解决我的问题)。我正在运行 OS X El Capitan (10.12.2)。
    • 谢谢! @MattMatt
    【解决方案3】:

    我的问题是,当我最初将标签添加到 git 时,LICENSE 文件不存在。我通过以下方式解决了这个问题:

    1. 从 git repo 中删除标签
    2. 确保 LICENSE 文件已提交到 git repo
    3. 再次将标签添加到 git repo 中
    4. 运行pod cache clean --all
    5. 再次运行pod spec lint

    它现在应该可以工作了。

    【讨论】:

    • pod cache clean --all 为我解决了更大的问题(lint 没有通过验证,现在通过了),但是仍然无法读取许可证文件...
    • 最后是一个错字... :)
    • @Nikita 你现在找到Unable to read the license file LICENSE for the spec 的方法了吗?
    【解决方案4】:

    运行

    吊舱解体

    然后

    pod 缓存清理 --all

    pod 安装

    【讨论】:

      【解决方案5】:

      我经常得到这个。 这对我有用。

      1. 吊舱解体
      2. 吊舱设置
      3. pod 安装

      我从终端运行这些命令,如下所示

      pod deintegrate && pod setup && pod install
      

      【讨论】:

        【解决方案6】:

        TL;DR 这是 OS X 中的 Ruby 2.2.+。返回 Ruby 2.1.6。

        这是我的问题。

        [!] 无法读取规范“pod (v.v.v)”的许可文件“.../LICENSE_.txt”

        但在 Rails 中也有问题。

        上周我遇到了同样的问题。 Rails 在文件路径中使用大写字母的加载路径也存在同样的问题。

        这是问题和他们的回答。 Strange error in rails - missing helper

        这是 Github 上的问题 https://github.com/rails/rails/issues/18660

        所以,我认为有同样的问题。我回去,cocoa pod CLI 复制了所有的 Licenses 。

        事实上,我们应该在 cocoa pods github 上发布一个 issue。

        【讨论】:

          【解决方案7】:

          就我而言,抱怨 LICENSE 文件的 pod 实际上在其文件夹中并没有 LICENSE 文件。 我解决这个问题的步骤:

          1. 去了 [project_name] -> Pods
          2. 打开了一个已经有 LICENSE 文件的 pod。复制该文件并将其粘贴到抱怨的 pod 文件夹中。
          3. 在 cocoapods.org 上找到了抱怨的 pod
          4. 在页面底部,写着谁拥有版权(MIT、Apache等)
          5. 单击License 部分中的链接,您将被重定向到可以找到版权声明示例的页面。从您现在文件夹中的文件中复制并替换旧版权。
          6. [year] 字段中检查 pod 的最新更新时间。
          7. [copyright owner] 中使用Author 下的pod 页面上写的内容。
          8. 保存文件。
          9. 在终端中运行pod install

          使用此图片作为参考。

          【讨论】:

          • 我的问题是:许可证电子邮件和姓名确实与作者的邮件和姓名不匹配。一旦这些相同,我的问题就消失了。
          【解决方案8】:

          这对我有用:

          1. Podfile 中删除有问题的 pod
          2. pod install
          3. pod cache clean --all
          4. 将 pod 添加回 Podfile
          5. pod install

          注意:如果需要锁定版本,请务必将来自Podfile.lock 的版本固定在Podfile

          【讨论】:

            【解决方案9】:

            如果我将旧 git 分支中的旧 pod.lock 复制到最新的 git 分支上,我将不再看到“pod 不同步”,并且我不必再次重做 'pod update' 'pod install' .

            团队中的某个人更新了 pod,因此 pods.lock 文件更改了我们使用的库旁边的潦草字母数字字符的版本。

            那是怎么回事?说真的,如果我们更新我们的库,然后更改为不同的分支,我们将需要更新 pod 并重建 - 这是该过程旨在用于 pod 和 git 的方式吗?

            【讨论】:

              【解决方案10】:

              就我而言,我通过将许可证文件的名称从 LICENSE 更改为 LICENSE.txt、更新 podspec 中的文件名并在 zip 文件中包含框架和 LICENSE.txt 文件来解决此问题我的存储库。

              【讨论】:

                猜你喜欢
                • 2017-04-26
                • 2021-04-04
                • 1970-01-01
                • 2021-06-09
                • 1970-01-01
                • 2020-04-20
                • 2015-01-16
                • 2018-07-12
                • 2021-03-03
                相关资源
                最近更新 更多