Reputation: 18833
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'
Upvotes: 95
Views: 273393
Reputation: 837
I just fixed it!
first be sure to be in your project folder, then run:
1. npm init
2. npm install --save
3. Install any module.
This is the result:
Upvotes: 3
Reputation: 91
I had a similar problem to this. It turns out that this can be caused by a number of things. The normal workflow is this:
npm init generates a package.json file
Next
npm install <package name> generates node_modules folder
In my case, the problem was because the configuration of npm in my .npmrc file was wrong. I was essentially requesting packages from the wrong URL. As of now, the public npm registry URL is
https://registry.npmjs.org/
This may be the problem in your project. So locate the .npmrc file on your system and ensure its pointing to the right URL.
Upvotes: 0
Reputation: 423
This answer is for users like my students who named their windows account name with unicode characters (other than a-z) :) 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.
Upvotes: 0
Reputation: 40038
A few things to try that worked for me:
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.
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.
Upvotes: 2
Reputation: 1657
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.
Upvotes: 0
Reputation: 1734
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
Upvotes: 0
Reputation: 3129
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,
mkdir <project-name>
cd <project-name>
npm init
This will create package.json file at current pathOpen package.json & fill it something like below
{
"name": "project-name",
"version": "project-version",
"dependencies": {
"mongodb": "*"
}
}
Now do : npm install
OR npm update
Now it will create node_modules directory under folder 'project-name' you created.
Upvotes: 49
Reputation: 753
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
Upvotes: -3
Reputation: 281
If you have a package-lock.json
file, you may have to delete that file then run npm i
. That worked for me
Upvotes: 26
Reputation: 1208
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
Upvotes: 4
Reputation: 420
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
Upvotes: 0
Reputation: 1790
npm init
is really all you needI 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.
Upvotes: 14
Reputation: 7758
npm init
It is all you need. It will create the package.json file on the fly for you.
Upvotes: 107