142

I just want to install socket.io to my project which is located on 3.chat folder. But when I run following command it shows following Warnings.And its not created a node_modules directory inside my project folder. How to fix this?

C:\Users\Nuwanst\Documents\NodeJS\3.chat>npm install socket.io
C:\Users\Nuwanst
`-- socket.io@2.0.3

npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\Nuwanst\package.json'
npm WARN Nuwanst No description
npm WARN Nuwanst No repository field.
npm WARN Nuwanst No README data
npm WARN Nuwanst No license field.

14 Answers14

154

If you already have package-lock.json file just delete it and try again.

Aravin
  • 5,983
  • 3
  • 37
  • 54
135

Have you created a package.json file? Maybe run this command first again.

C:\Users\Nuwanst\Documents\NodeJS\3.chat>npm init

It creates a package.json file in your folder.

Then run,

C:\Users\Nuwanst\Documents\NodeJS\3.chat>npm install socket.io --save

The --save ensures your module is saved as a dependency in your package.json file.

Let me know if this works.

Rusty
  • 7,918
  • 10
  • 50
  • 72
Clive Machado
  • 1,487
  • 1
  • 10
  • 15
  • 2
    This worked for me. Thanks! Note that when you run "npm init" it will ask you to enter a lot of fields, but the default values are in parenthesis. Just enter through and accept defaults. – VoteCoffee Nov 13 '20 at 16:05
  • 1
    Most of the cases this is not the correct answer. Please check @Aravin's answer – Sisir Jun 26 '21 at 10:48
13

Make sure you are on the right directory where you have package.json

Vasanthan
  • 131
  • 1
  • 2
9

You need to make sure if package.json file exist in app folder. i run into same problem differently but solution would be same

Run this command where "package.json" file exist. even i experience similar problem then i change the folder and got resolve it. for more explanation i run c:\selfPractice> npm start whereas my package.json resides in c:\selfPractice\frontend> then i change the folder and run c:\selfPractice\frontend> npm start and it got run

6

NOTE: if you are experiencing this issue in your CI pipeline, it is usually because npm runs npm ci instead of npm install. npm ci requires an accurate package-lock.json.

To fix this, whenever you are modifying packages in package.json (e.g. moving packages from devDependencies to Dependencies like I was doing) you should regenerate package-lock.json in your repository by running these commands locally, and then push the changes upstream:

rm -rf node_modules
npm install
git commit package-lock.json
git push
qiu
  • 1,751
  • 1
  • 8
  • 12
4

finally, I got a solution if you are getting:-

**npm WARN tar ENOENT: no such file or directory,.......**

then it is no issue of npm or its version it is os permission issue to resolve this you need to use below command:-

sudo chown -R $USER:$USER *

additional

sudo chmod -R 777 *

then run:-

sudo npm i 
Yaser Darzi
  • 1,415
  • 10
  • 23
AAAmresh 007
  • 57
  • 1
  • 1
2

If your folder already have package.json

Then,

Copy the path of package.json

Open terminal

Write:

cd your_path_to_package.json

Press ENTER

Then Write:

npm install

This worked for me

Parth Developer
  • 1,190
  • 11
  • 26
1

Delete package.json and package-lock.json file

Then type npm init

after that type npm install socket.io --save

finally type npm install

It works for me

Malith Ileperuma
  • 722
  • 8
  • 26
1

If you're trying to npm install on a folder that's being rsync'd from somewhere else, remember to add this to your rsync --exclude

yourpath/node_modules

Otherwise, NPM will try to add node_modules and rsync will remove it immediately, causing many npm WARN enoent ENOENT: no such file or directory, open errors.

poshest
  • 3,868
  • 2
  • 24
  • 37
1

update version in package.json is working for me

Che
  • 11
  • 1
0

if your node_modules got installed in say /home/UserName/ like in my case, your package-lock.json file will also be there. just delete this file, go back to your app folder and run npm init and then npm install <pkgname> (e.g express) and a new node_modules folder will be created for your.

abulkhair
  • 1
  • 1
0

I had this in a new project on Windows. npm install had created a node_modules folder for me, but it had somehow created the folder without giving me full control over it. I gave myself full control over node_modules and node_modules\.staging and it worked after that.

John Fouhy
  • 39,311
  • 19
  • 61
  • 77
0

Seems you have installed express in root directory.Copy path of package.json and delete package json file and node_modules folder.

-2

the file path you ran is wrong. So if you are working on windows, go to the correct file location with cd and rerun from there.