npm install gives error "can't find a package.json file"
npm install
/ npm install -g
command is not working in Windows 7
Node.js is installed properly, node.js version is v0.10.28
Couldn't read dependencies
ENOENT, open '"filepath"\package.json'
This is most likely not a problem with npm itself.
npm can't find a package.json file in your current directory.
Solution 1:
You don't say what module you want to install - hence npm looks for a file package.json
which describes your dependencies, and obviously this file is missing.
So either you have to explicitly tell npm which module to install, e.g.
npm install express
or
npm install -g express-generator
or you have to add a package.json
file and register your modules here. The easiest way to get such a file is to let npm create one by running
npm init
and then add what you need. Please note that this does only work for locally installed modules, not for global ones.
A simple example might look like this:
{
"name": "myapp",
"version": "0.0.1",
"dependencies": {
"express": "4.0.0"
}
}
or something like that. For more info on the package.json
file see its official documentation and this interactive guide.
Solution 2:
node
comes with npm
installed so you should have a version of npm
, however npm
gets updated more frequently than node
does, so you'll want to make sure it's the latest version.
sudo npm install npm -g
Test: Run npm -v
. The version should be higher than 2.1.8.
npm install
THAT'S IT!
https://www.youtube.com/watch?v=wREima9e6vk
Solution 3:
I'm not sure what you're trying to do here:
npm install
alone in your home directory shouldn't do much -- it's not the root of a node app, so there's nothing to install, since there's no package.json.
There are two possible solutions:
1) cd
to a node app and run npm install
there. OR
2) if you're trying to install something as a command to use in the shell (You don't have a node application), npm install -g packagename
. -g
flag tells it to install in global namespace.
Solution 4:
Use below command to create a package.json file.
npm init
npm init --yes or -y flag
[This method will generate a default package.json using information extracted from the current directory.]
Working with package.json