修改VSIX扩展重打包后安装报错:extension/package.json not found inside zip
Fixing "extension/package.json not found" Error When Repackaging VSIX on macOS
我之前也踩过这个Finder压缩的坑!问题根源在于macOS Finder的默认压缩方式会给zip包多套一层文件夹,而VSCode的VSIX格式要求包的根目录直接包含package.json等扩展文件,不能嵌套在子文件夹里。
为什么会报错?
当你用Finder选中解压后的扩展文件夹右键「压缩」时,生成的zip包结构是这样的:
twig-language-2.zip/ └── twig-language-2/ ├── package.json └── ...其他文件
而VSCode安装时会直接在zip根目录找package.json,自然就找不到了。
正确的重打包步骤(用终端避免层级问题)
- 打开终端,通过
cd命令导航到直接包含package.json的那个文件夹(也就是解压后进入的内层目录)。比如:cd ~/Downloads/twig-language-2 - 运行以下zip命令,把当前目录下的所有文件直接打包成VSIX,避免额外层级:
这个命令会把当前目录的所有内容打包到上级目录的zip -r ../twig-language-modified.vsix .twig-language-modified.vsix文件里,生成的包结构是正确的:twig-language-modified.vsix/ ├── package.json └── ...其他文件
验证打包结果
你可以把新生成的VSIX重新解压,检查根目录是否直接能看到package.json——如果是的话,再安装就不会报错了。
内容的提问来源于stack exchange,提问作者mistermist
相关产品推荐
相关产品推荐

