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
`-- [email protected]
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.
This question is related to
javascript
node.js
npm
server
node-modules
Delete package-lock.json
it works for me
then npm install
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
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
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
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.
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
You can use npm init to create a package.json.
update version
in package.json is working for me
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.
If you already have package-lock.json
file just delete it and try again.
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.
Make sure you are on the right directory where you have package.json
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.
Seems you have installed express in root directory.Copy path of package.json and delete package json file and node_modules folder.
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
Run command - npm init No file directory found issue got resolved
This worked for me:
I simply cd "C:\the_path_of_the_project_where_package.json_is"
before I ran "npm start"
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
Source: Stackoverflow.com