简体   繁体   中英

npm install doesn't create node_modules directory

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 path@0.4.9 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

> kerberos@0.0.3 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'

> bson@0.2.5 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'
mongodb@1.3.23 ../../../node_modules/mongodb
├── kerberos@0.0.3
└── bson@0.2.5
mongo-uni/hw1-2$ node app.js
Failed to load c++ bson extension, using pure JS version
'No document found'

npm init

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

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.

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

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.

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

eg

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

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

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

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.

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.

cd进入目录然后运行

npm install node

This answer is for users like my students who named their windows account name with unicode characters (other than az) :) They placed their project folder on their desktop folder.

Please make sure that your project folder path doesn't include special characters such as "ÇŞİ " etc..

In our case, moving folder to C:\ fixed the problem.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM