Cocoapods 错误:“无法读取许可证文件”

问题描述 投票:0回答:11

当我打字时

pods install

pods update

我在一个库中收到以下错误:

无法读取规范的许可证文件

/Users/me/Documents/project/myproject/company/myproduct/Pods/OHAttributedLabel/OHAttributedLabel/LICENSE
OHAttributedLabel (3.5.3)

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

pod repo remove master
pod setup

无济于事

ios objective-c cocoapods
11个回答
27
投票

就我而言,这与我团队中的某人将其

.xcworkspace
文件提交到存储库有关,这意味着运行
pod install
给了我许可证警告,但同时没有正确安装我的 Pod。

我就是这样解决的:

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

现在运行

pod install
,问题应该得到解决。


8
投票

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

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

现在应该可以工作了。


7
投票

我今天刚刚遇到这个问题,似乎是由于我的缓存以某种方式损坏所致;也许是字符集问题?不知道,但对我有用的解决方案是这个要点中的 bash 脚本

它会清除 cocoapods 缓存,以便您下次运行时获得所需的所有内容的全新副本

pod install
。立即解决了我的问题,证实了我的怀疑,此后就没有再出现过。


7
投票

奔跑

豆荚分解

然后

pod 缓存清理 --all

pod 安装


7
投票

我经常遇到这种情况。 这对我有用。

  1. 豆荚分解
  2. 吊舱设置
  3. 吊舱安装

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

pod deintegrate && pod setup && pod install

2
投票

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

这是我的问题。

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

但在 Rails 中也遇到了问题。

我上周也遇到了同样的问题。 Rails 在文件路径中包含大写字母的加载路径时也有同样的问题。

这是问题和他们的回答。 rails 中的奇怪错误 - 缺少助手

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

所以,我认为存在同样的问题。我回去,cocoa pod CLI 复制了确认中的所有许可证。

事实上,我们应该在 cocoa pods github 上发布问题。


2
投票

就我而言,抱怨 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]
    中,使用 pod 页面上
    Author
    下所写的内容。
  8. 保存文件。
  9. 在终端中运行
    pod install

使用此图像作为参考。


2
投票

这对我有用:

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

注意:如果需要锁定版本,请务必将

Podfile.lock
中的版本固定在
Podfile


1
投票

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


0
投票

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

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

那是怎么回事?说真的,如果我们更新我们的库,然后更改到不同的分支,我们将需要更新 pod 并重建 - 这是 pod 和 git 的流程吗?


0
投票

@ScottyB 提出的解决方案对我有用。 谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.