npm install doesn't create node_modules directory

node.jsNpmNode Modules

node.js Problem Overview


I am trying to do a homework for a mongodb uni course. They gave us some files, instructions are:

run npm install mongodb then node app.js

for some reason npm install does not create a node_modules directory but I don't see any build errors:

mongo-uni/hw1-2$ npm install mongodb
npm WARN package.json [email protected] path is also the name of a node core module.
npm http GET https://registry.npmjs.org/mongodb
npm http 304 https://registry.npmjs.org/mongodb
npm http GET https://registry.npmjs.org/bson/0.2.5
npm http GET https://registry.npmjs.org/kerberos/0.0.3
npm http 304 https://registry.npmjs.org/kerberos/0.0.3
npm http 304 https://registry.npmjs.org/bson/0.2.5

> [email protected] install /home/jasonshark/node_modules/mongodb/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/jasonshark/node_modules/mongodb/node_modules/kerberos/build'
  SOLINK_MODULE(target) Release/obj.target/kerberos.node
  SOLINK_MODULE(target) Release/obj.target/kerberos.node: Finished
  COPY Release/kerberos.node
make: Leaving directory `/home/jasonshark/node_modules/mongodb/node_modules/kerberos/build'

> [email protected] install /home/jasonshark/node_modules/mongodb/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)

make: Entering directory `/home/jasonshark/node_modules/mongodb/node_modules/bson/build'
  CXX(target) Release/obj.target/bson/ext/bson.o
make: Leaving directory `/home/jasonshark/node_modules/mongodb/node_modules/bson/build'
[email protected] ../../../node_modules/mongodb
├── [email protected]
└── [email protected]
mongo-uni/hw1-2$ node app.js
Failed to load c++ bson extension, using pure JS version
'No document found'

node.js Solutions


Solution 1 - node.js

npm init

It is all you need. It will create the package.json file on the fly for you.

Solution 2 - node.js

NPM has created a node_modules directory at '/home/jasonshark/' path.

From your question it looks like you wanted node_modules to be created in the current directory.

For that,

  1. Create project directory: mkdir <project-name>

  2. Switch to: cd <project-name>

  3. Do: npm init This will create package.json file at current path

  4. Open package.json & fill it something like below

    {
        "name": "project-name",
        "version": "project-version",
        "dependencies": {
            "mongodb": "*"
        }
    }
    
  5. Now do : npm install OR npm update

Now it will create node_modules directory under folder 'project-name' you created.

Solution 3 - node.js

If you have a package-lock.json file, you may have to delete that file then run npm i. That worked for me

Solution 4 - node.js

See @Cesco's answer: npm init is really all you need


I was having the same issue - running npm install somePackage was not generating a node_modules dir.

I created a package.json file at the root, which contained a simple JSON obj:

{
    "name": "please-work"
}

On the next npm install the node_modules directory appeared.

Solution 5 - node.js

As soon as you have run npm init and you start installing npm packages it'll create the node_moduals folder after that first install

e.g

npm init

(Asks you to set up your package.json file)

npm install <package name here> --save-dev

installs package & creates the node modules directory

Solution 6 - node.js

I ran into this trying to integrate React Native into an existing swift project using cocoapods. The FB docs (at time of writing) did not specify that npm install react-native wouldn't work without first having a package.json file. Per the RN docs set your entry point: (index.js) as index.ios.js

Solution 7 - node.js

my problem was to copy the whole source files contains .idea directory and my webstorm terminal commands were run on the original directory of the source
I delete the .idea directory and it worked fine

Solution 8 - node.js

For me, I had to go into the directory where the package.json is itself and then run npm install in order to see node_modules folder. Apparently, running npm install in a directory that has NO package.json does not error or tell you otherwise.

Solution 9 - node.js

A few things to try that worked for me:

  1. Try running the NPM install from outside of your IDE, just from the bash / PowerShell / cmd prompt. It will work the same, and might complete successfully.

  2. Try upgrading NPM:

npm install -g npm

or, to stay within a specific major version:

npm install -g @latest-7

THEN run your npm install again.

Solution 10 - node.js

cd into the directory and then run

npm install node

Solution 11 - node.js

For node_modules you have to follow the below steps

  1. In Command prompt -> Goto your project directory.

  2. Command :npm init

  3. It asks you to set up your package.json file

  4. Command: npm install or npm update

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionConnor LeechView Question on Stackoverflow
Solution 1 - node.jsCESCOView Answer on Stackoverflow
Solution 2 - node.jsPiyush SagarView Answer on Stackoverflow
Solution 3 - node.jswendyhView Answer on Stackoverflow
Solution 4 - node.jscheshireoctopusView Answer on Stackoverflow
Solution 5 - node.jsHellodanView Answer on Stackoverflow
Solution 6 - node.jswantrapreneurView Answer on Stackoverflow
Solution 7 - node.jsMahdi mehrabiView Answer on Stackoverflow
Solution 8 - node.jsThuyView Answer on Stackoverflow
Solution 9 - node.jscssyphusView Answer on Stackoverflow
Solution 10 - node.jsShivView Answer on Stackoverflow
Solution 11 - node.jsAbhijeet NavgireView Answer on Stackoverflow