177
votes

I'm trying to install the dependencies of some example: npm's express 2.5.8 that I've downloaded, but all of the apps throw the same error:

c:\node\stylus>npm install -d
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm ERR! Couldn't read dependencies.

npm ERR! Error: ENOENT, no such file or directory 'c:\node\stylus\package.json'
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>
npm ERR!
npm ERR! System Windows_NT 6.1.7600
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-d"
npm ERR! cwd c:\node\stylus
npm ERR! node -v v0.6.11
npm ERR! npm -v 1.1.1
npm ERR! path c:\node\stylus\package.json
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory 'c:\node\stylus\package.json'

npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     c:\node\stylus\npm-debug.log
npm not ok

The blockage appears to be:

no such file or directory 'c:\node\stylus\package.json

Did I miss a step that creates the package.json ?

I'm running:

  • Windows 7 64 bit
  • npm 1.1.1
  • node 6.11
  • express 2.5.8
27
How did you download the packages? Can you install them the usual way (i.e. with npm install <package>?Linus Thiel
I haven't tried that, because I don't know exactly which packages are used in the apps. How can I find this out so I can try installing them manually?imjp
npm view <package> will show you the package.json along with the dependencies. Also, npm help is your friend.Linus Thiel
I've checked out the package file with npm view package but I get this error: i.imgur.com/AwGHu.gif. I'm trying to get some of these to work: github.com/visionmedia/express/tree/2.x/examplesimjp
Hmmm... <package> was meant as an example. Try e.g. npm view stylus.Linus Thiel

27 Answers

117
votes

Update 2018

This is becoming quite a popular question and my answer (although marked as correct) is no longer valid. Please refer to Deepali's answer below:

npm init

Original Outdated Answer

I think you forgot to setup the directory for express:

express <yourdirectory>

Once you do that you should be able to see a bunch of files, you should then run the command:

npm install -d

Regards.

186
votes

I think, npm init will create your missing package.json file. It works for me for the same case.

89
votes

I'll be brief but deadly. :) install -d will not work for you. It's simple. Try

$ npm install -g express
61
votes

Follwing the below steps you well get package.json file.

npm --version
npm install express
npm init -y
19
votes

If Googling "no such file or directory package.json" sent you here, then you might be using a very old version of Node.js

The following page has good instructions of how to easily install the latest stable on many Operating systems and distros:

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

8
votes

Use the command in win7/win8/win10 (CD) for moving folders:

  1. Enter your projects folder

  2. Run: npm install -d

6
votes

Beginners usually try the npm command from random locations. After downloading or creating a project, you have to cd into this project folder. Inside is the file package.json.

cd <path_to_project>
npm install
4
votes

try re-install Node.js

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

sudo apt-get install -y nodejs

sudo apt-get install -y build-essential

and update npm

curl -L https://npmjs.com/install.sh | sudo sh
3
votes

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:

npm -v //The version should be higher than 2.1.8

After this you should be able to run:

npm install
2
votes

I had a similar problem with npm. The problem was that I had the project inside two folders of the same name. I resolved it by renaming one of the folders to something else (outer folder recommended).

2
votes

It by itself says that package.json is not available in your project. So, to create package.json, use the following steps:

  1. open command prompt on your project directory
  2. npm init (it will ask you to enter lots of entries like name, version, desc, etc., enter some random values and click enter).
  3. type yes and click enter

Now try again.

2
votes
npm init -y 

use this command, it will automatically create package.json file with all your machine information.

2
votes

I found myself here trying to resolve the same error message:

npm ERR! message ENOENT, no such file or directory 'c:\<some_folder>\package.json'

The error could be due to two reasons:

  1. You do not have the package.json
  2. You have the package.json, but you are running npm start in the wrong folder

To troubleshoot the first cause, you need to create a package.json using:

npm init

To fix the second cause, make sure the folder you are running the npm start command is the same folder as the package.json

1
votes

My issue was I didn't have a package.json file for some reason. After I wget this file into my directory, I was able to run npm install

https://raw.githubusercontent.com/twbs/bootstrap/master/package.json

1
votes

Thank you! I also tried many options for this. I am also using windows.This command helped and saved my time:

npm install -g npm@lts
1
votes

It may be very evident,
but try to launch CMD (for Windows) from the project folder, where your package.json file is located.

Do not launch CMD from System or from "Search bar" in Win or
move to your project folder with help of cd command and then launch npm start.

1
votes

ok, try to go to the home "user@user:~$ " (cd + enter key), and npm install -g your your_module.

1
votes

Go inside the project folder and check whether the package.json file does exist.

If you are creating the project using Visual Studio Angular project, make sure you run this command inside the ClientApp Folder. there is a good chance, you could be looking for project.json file outside the ClientApp folder.

1
votes

just install any package you want with -g

npm install -g express

1
votes

if the package.json file in the project directory is missing then you can create it by npm init.

if the package.json file is already created in the project directory then there is a possibility that you are not running your project from the right path. Use cd your-project-path in the terminal and then run your project from there.

0
votes

For the following command

sudo npm install react browserify watchify babelify --save-dev

I got same error

saveError ENOENT: no such file or directory, open '/Users/Path/package.json'

But when I run the command

sudo npm install -gd react browserify watchify babelify --save-dev

then no missing file or directory message appeared.

0
votes

I have run npm install -y to skip the question step for creating the missing file package.json, y means yes

0
votes

I was also facing same issue while installing typescript. I just initialized an package.josn file by the following command

npm init -y

And then i installed my typescript

npm install -g -typescript

http://blossomprogramming.blogspot.com/

0
votes

Please check the directory or the folder in which you're installing your new package. This happened to me as well, My whole project was in a subdirectory and I was trying to install in the main directory. After checking the whole thing I found out that I had to install in the subdirectory where my project files and package.json files are located and it's done. Hope this helps...

0
votes

I was experiencing this identical error and terminal (foolishly, on my part) was in a parent directory instead of the correct one (where package.json was correctly located).

All I did in terminal was cd [insert correct directory name here, overwriting brackets] and that corrected the problem.

-1
votes

Adding -g before the package name worked for me. Looking for documentation to explain why this works..

-1
votes

Generate package.json without having it ask any questions. I ran the below comment in Mac and Windows under the directory that I would like to create package.json and it works

$ npm init -y

Wrote to C:\workspace\package.json:

{
  "name": "workspace",
  "version": "1.0.0",
  "description": "",
  "main": "builder.js",
  "dependencies": {
    "jasmine-spec-reporter": "^4.2.1",
    "selenium-webdriver": "^4.0.0-alpha.5"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}