#14750·meteor

v3.5.2: iOS build with more than 1 plugin fails with Cannot find module 'plist'

Author: alanningCreated Sep 12, 2026Updated Sep 15, 2026
Labelsnative-build-stack

Issue

Npm dependencies are pruned during the cordova build process for each plugin. Platform add writes it's package.json when it exits but the plugin installs happen before that and each successive npm install prunes the dependencies it doesn't need (i.e. the ones from the other plugins).

Workaround below.

Reproduction

meteor create --bare --release 3.5.2 plist-repro && cd plist-repro
meteor add-platform ios
printf '@havesource/[email protected]\[email protected]\n' > .meteor/cordova-plugins
printf "App.setPreference('deployment-target', '13.0', 'ios')\n" > mobile-config.js   # the push plugin's Firebase pods need iOS 13
rm -rf .meteor/local/cordova-build
meteor build ../out --server=https://example.com --platforms=ios

Result

iOS project created with [email protected]
Installing "cordova-plugin-media" for ios
Installing "cordova-plugin-file" for ios
Failed to install 'cordova-plugin-file': Error: Cannot find module 'fast-glob'
...
=> Errors executing Cordova commands:
   While adding platform iOS to Cordova project:
   Error: Cannot find module 'fast-glob'

Workaround

Declare the dependency plugins directly in .meteor/cordova-plugins.

NOTE: You have to remove .meteor/local/cordova-build after a failed run or it will be mangled.

Attribution

Diagnosed by Claude Fable 5.2 - bug report written by hand

Please let me know if you would like a PR opened to fix this