SharePoint SPFx执行gulp package-solution --ship提示无清单文件报错
SPFx Application Customizer 打包提示找不到manifests文件错误
报错信息
开发SharePoint Online站点Application Customizer扩展时,执行gulp package-solution --ship命令持续抛出如下错误:
Error - [package-solution] No manifests were found in 'D:/extensionForFullstack/extension-for-fullstack/release/manifests'. Ensure a build has completed successfully
复现流程
- 新建项目目录,使用1.13.0版本的
yo @microsoft/sharepoint生成器创建SPFx解决方案,选择适配SharePoint Online最新版本,组件类型为Extension分类下的Application Customizer,组件命名为HelloWorld - 进入项目根目录执行
npm install完成依赖安装,过程仅出现依赖弃用提示,无阻断性错误 - 执行
gulp build成功完成debug模式构建 - 首次执行bundle命令时因参数格式错误弹出gulp帮助提示,修正为
gulp bundle --ship后,configure-webpack子任务报错,提示路径src/extensions/helloWorld/HelloWorldApplicationCustomizer.manifest.json文件不存在 - 后续执行
gulp package-solution --ship即提示release/manifests目录下未找到任何清单文件 - 先后尝试debug模式执行gulp bundle、执行
gulp clean清理构建产物后重试,均重复出现manifest文件不存在报错,无法完成解决方案打包
问题根因
1.13.0版本SPFx生成器存在路径大小写匹配bug:组件采用大驼峰命名时,脚手架生成的实际文件路径与webpack配置读取路径可能存在大小写不一致问题;加上首次bundle命令参数错误执行失败后,会生成异常构建缓存,导致后续构建流程始终无法定位到组件manifest文件,无法生成release目录下的manifests产物。
修复步骤
- 全量清理构建缓存、依赖和历史产物,在项目根目录依次执行以下命令,未安装rimraf可先执行
npm install -g rimraf:
gulp clean rimraf node_modules rimraf package-lock.json rimraf temp rimraf release
- 检查
src/extensions/helloWorld目录,确认目录下存在HelloWorldApplicationCustomizer.manifest.json文件,若文件缺失则手动创建,填入以下基础配置,其中id字段替换为项目config/serve.json中对应HelloWorld组件的guid值:
{ "id": "替换为当前组件的专属guid", "alias": "HelloWorldApplicationCustomizer", "componentType": "Extension", "extensionType": "ApplicationCustomizer", "version": "*", "manifestVersion": 2, "requiresCustomScript": false }
- 打开项目根目录下
config/config.json文件,检查entries配置数组中的路径,确保manifest、entrypoint路径的文件夹大小写、文件名与本地实际文件完全一致,禁止出现HelloWorld和helloWorld混用的大小写不匹配问题。 - 重新执行
npm install安装全量依赖。 - 按顺序执行生产环境构建命令,不要跳步,注意
--ship参数为双横杠开头,避免参数格式错误触发gulp帮助提示中断构建:
gulp build --ship gulp bundle --ship gulp package-solution --ship
执行完成后即可在sharepoint/solution目录下生成正常的sppkg安装包。
注意:若仍存在路径报错,可将src/extensions下的组件文件夹统一改为全小写命名,同步修改config.json中对应路径即可彻底规避1.13版本生成器的大小写匹配bug。
内容的提问来源于stack exchange,提问作者John John
相关产品推荐
相关产品推荐

