Cannot read property 'main' of undefined
Solution 1
Also try, this will make sure to download the necessary modules that were missing.
bower install
Solution 2
Well as far as I can guess, you messed up with bower. Most likely you uninstalled a dependency and forgot to save.
What you should have done:
bower uninstall <dependency> --save
What you probably did:
bower uninstall <dependency>
You can solve this issue by bower executing uninstall <dependency> --save
or if you are unsure of which components you uninstalled, you can edit bower.json
file and remove components that are not installed. (You can check if a dependency is installed in bower_componenets
directory)
jshbrntt
Updated on October 15, 2022Comments
-
jshbrntt over 1 year
So my project structures is I have a
src
andwww
directory in my root./
, which also contains mybower.json
,gulpfile.js
, and.bowerrc
with thedirectory
set to./www/bower/
.I have an
index.html
in my./src
and I've setup a gulp task that pipes it throughwiredep
and out to the./www
where the bower packages are.Unfortunately it adds all the dependecies as if it's in the
./src
directory so all of them are prefixed like../www/bower/
which does work as the finalindex.html
ends up in thewww
directory so I fiddled with some of thewiredep
configuration options like so:gulp.task('bower', function () { gulp.src('./src/index.html') .pipe(wiredep({ cwd: './www', bowerJson: require('./bower.json'), directory: '../.bowerrc' })) .pipe(gulp.dest('./www')); });
However I get the following error:
stream.js:94 throw er; // Unhandled stream error in pipe. ^ TypeError: Cannot read property 'main' of undefined at findMainFiles (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\lib\detect-dependencies.js:53:37) at D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\lib\detect-dependencies.js:111:17 at forOwn (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\lodash\dist\lodash.js:1301:15) at Function.forEach (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\lodash\dist\lodash.js:2595:9) at detect (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\lib\detect-dependencies.js:312:5) at wiredep (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\wiredep.js:178:39) at Transform._transform (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\wiredep.js:217:34) at Transform._read (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:184:10) at Transform._write (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:172:12) at doWrite (D:\Dropbox\University\MindFlipDOM\node_modules\wiredep\node_modules\through2\node_modules\readable-stream\lib\_stream_writable.js:238:10)
So what am I doing wrong?