4

我开发了一个 chrome 扩展。我做了一些小的更新,突然无法通过 chrome web-store 安装扩展。我得到错误

Package is in valid. Details: 'Could not unzip extension'

在此处输入图像描述

zip 文件似乎有问题。据我了解,在将 zip 文件上传到 chrome 网上商店时,它会被加密为crx-file. 会不会是那里发生了小插曲?

通过“加载未打包的扩展”或拖动 crx 文件在本地安装扩展时,它工作正常。所以清单没有问题。我还检查了无效的文件名。我什至创建了一个删除所有文件的版本。

我也尝试了这篇SE 帖子中的解决方案。

令我惊讶的是,我找不到谷歌对 chrome 扩展的支持。没有电子邮件或任何我可以联系以寻求帮助的东西。

任何帮助表示赞赏。

4

3 回答 3

10

我昨天也遇到了同样的问题。显然为我解决了这个问题(我尝试了很多事情,可能与您进行了所有相同的网络搜索)是在顶层压缩文件而不是压缩包含它们的目录。也就是说,zip 列表如下所示:

$ unzip -l extension.zip 
Archive:  extension.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
     659  03-05-13 14:12   manifest.json
...

不是这样:

$ unzip -l extension.zip 
Archive:  extension.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  03-05-13 15:41   extension/
      641  03-05-13 15:41   extension/manifest.json
...

尽管我发誓后一种包装早些时候对我有用。

于 2013-03-06T22:26:24.333 回答
1

我今天有一个类似的问题。rhashimoto 的解决方案对我不起作用。

我在 Linux 上开发,最后我发现问题是从 Windows 的角度来看,文件名中有一个保留字符(“:”)。我删除了名称有问题的文件,重新提交,一切正常。

顺便说一句,我的 zip 存档的格式据说会导致上述答案出现问题,但在我修复了文件名问题后它仍然有效。

于 2014-03-08T00:36:39.130 回答
1

有时会发生这种情况,因为扩展是在 OS X 或 Linux 上创建的,并且包含在 Windows 中名称非法的文件。有关详细信息,请参阅此问题。

该错误中给出的列表来自 MSDN,其中说:

不要使用以下保留名称作为文件名:CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、 LPT6、LPT7、LPT8 和 LPT9。还要避免这些名称后跟扩展名;例如,不推荐使用 NUL.txt。

因此,例如,在 Windows 上,您不能拥有名为“aux.css”或“aux.html”的文件。

于 2015-07-14T22:39:08.677 回答