我开发了一个chrome扩展程序。我做了一些小的更新,然后突然无法通过chrome网上商店安装扩展程序。我收到了错误
Package is in valid. Details: 'Could not unzip extension'
看来zip文件有问题。据我所知,将zip文件上传到chrome网上商店时,它会被加密为crx-file
。可能是那里发生的打嗝吗?
通过'load unpackaged extension'在本地安装扩展程序或拖动crx文件时,它可以正常工作。因此清单没有任何问题。我还检查了无效的文件名。我甚至创建了一个剥离了所有文件的版本。
我也尝试过来自this SE帖子的解决方案。
让我感到惊讶的是,我在Chrome扩展程序中找不到谷歌的支持。没有电子邮件或任何我可以联系的帮助。
感谢任何帮助。
答案 0 :(得分:9)
昨天我遇到了同样的问题。什么显然为我修复它(我尝试了很多东西,可能做了与你相同的网页搜索)是在顶层压缩文件而不是压缩包含它们的目录。也就是说,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
...
即使我发誓,后一种包装早就适合我。
答案 1 :(得分:1)
今天我遇到了类似的问题。来自rhashimoto的解决方案对我不起作用。
我在Linux上开发,最后我发现问题是从Windows的角度来看文件名中带有保留字符(“:”)。我删除了带有问题名称的文件,重新提交并且工作正常。
顺便提一下,我的zip存档的格式在上面的答案中会引起问题,但在我修复了文件名问题后它仍然有效。
答案 2 :(得分:1)
有时会发生这种情况,因为扩展程序是在OS X或Linux上创建的,并且包含一个在Windows中名称非法的文件。有关详细信息,请参阅this issue。
错误中提供的列表来自from 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"。