Reputation: 29129
Before I can run gulp
in my project I need to run npm install
. This works except on my computer, because I get the following error:
Error: Cannot find module 'socket.io'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
...
I can fix this with
$> npm install socket.io
Now when I do the install command again I get
Error: Cannot find module 'di'
...
When I install di
and run the install command again I get:
Error: Cannot find module 'log4js'
I think that this might continue for a very long time. Any suggestions what is going on here and how to fix this ?
Upvotes: 27
Views: 115445
Reputation: 1
Upgrade your npm version Install nvm which is easier to switch node js versions For me node 12.18.3 worked Just do: nvm use 12.18.3 to switch version
run npm install again and node_modules will appear
Upvotes: 0
Reputation: 895
If the npm-install-missing
does not work for you, knowing the name of the Packages that are missing will help you out here. All I had to do was first open my package.json file inside VSCode, then paste or type the names of the missing modules into it (under dependencies) according to the way other package names were written there.
Then I ran npm install after that.
This method is helpful when you are working on a file but somehow you did not get the package.json file or some of the modules are not listed therein.
Remember to stop and restart a running server after you do npm install for your new dependencies to reflect on your work.
Upvotes: -1
Reputation: 331
I think the npm module madge would help you find the missing dependencies. It goes through your actual code and makes a list of all the dependencies found within. You could then do an npm i
for each of the modules found.
Upvotes: 0
Reputation: 161
Beside other answers, if you are using Angular and cannot make new angular project and hangs, you can get into the folder and open terminal and write:
npm -i
Maybe useful for other things too!!
Upvotes: 0
Reputation: 125
This worked for me. By commenting 3 lines in C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\polyfills.js.
Refer [https://flaviocopes.com/cb-apply-not-a-function/]
// fs.stat = statFix(fs.stat) # Line: 61
// fs.fstat = statFix(fs.fstat) # Line: 62
// fs.lstat = statFix(fs.lstat) # Line: 63
Upvotes: 0
Reputation: 15
To resolve missing npm modules run:
sudo npm install -g npm-install-missing
Upvotes: -3
Reputation: 776
I've faced the same problem when bootstrapping a MEAN application and add each missing dependencie with npm install packageName --save
was not an option so I came across to npm-install-missing whom has saved my life :)
Installation
npm install -g npm-install-missing
Usage
npm-install-missing
Upvotes: 29
Reputation: 2423
It seems that gulp need 'karma' dependencies (socket.io ,di ,log4js
...) so you will have to run :
npm install karma
so just runing this command solved the problem, and all should be good, the same thing happens with grunt as well for some reasons.
Upvotes: 3
Reputation: 2178
I am using the same version of npm/node. Sometimes, it is like npm is "lost". What I suggest is :
Upvotes: 7
Reputation: 76219
Running npm install
will install all dependencies that are specified in the package.json
. Seems like you have quite a few dependencies that are not defined that way. Use npm install packageName --save
and npm will add the package to your package.json
.
Upvotes: 18