91

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.

19 Answers19

102

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,112
  • 10
  • 46
  • 69
Clive Mac
  • 1,151
  • 1
  • 8
  • 12
  • 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
99

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

Aravin
  • 4,708
  • 1
  • 34
  • 51
38

Delete package-lock.json it works for me

then npm install

Akitha_MJ
  • 2,480
  • 16
  • 15
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

5

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,338
  • 9
  • 22
AAAmresh 007
  • 51
  • 1
  • 1
5

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
  • 868
  • 6
  • 8
3

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
  • 885
  • 6
  • 23
1

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

Vasanthan
  • 11
  • 1
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
  • 574
  • 7
  • 25
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
  • 37,154
  • 18
  • 59
  • 73
0

You can use npm init to create a package.json.

greg-449
  • 102,836
  • 220
  • 90
  • 127
0

Run command - npm init No file directory found issue got resolved

0

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

0

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,634
  • 2
  • 23
  • 33
0

This worked for me:

I simply cd "C:\the_path_of_the_project_where_package.json_is"

before I ran "npm start"

John Conde
  • 207,509
  • 96
  • 428
  • 469
Dzhud
  • 15
  • 6
-1

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.

-2

we need to create package.json by entering npm init and enter package name as package.json and optionally fill other requirements else press enter and at last enter yes to confirm. Great!! Now install any npm package without any error.

npm install <package_name>

Windows10

niks
  • 79
  • 2