To resolve the ENOENT warning message, you need to add a package. json file in the directory where you run the npm install command. And then run your npm install command again. This time, the warning message should not appear.
Ok it looks like NPM is using your .gitignore
as a base for the .npmignore
file, and thus ignores /lib
. If you add a blank .npmignore
file into the root of your application, everything should work.
A better, more explicit approach is to use an allow-list rather than a disallow-list, and use the "files" field in package.json to specify the files in your package.
[edit] - more info on this behaviour here: https://docs.npmjs.com/cli/v7/using-npm/developers#keeping-files-out-of-your-package
I ran into a similar problem,
npm cache clean
solved it.
This problem somehow arose for me on Mac when I was trying to run npm install -g bower
. It was giving me a number of errors for not being able to find things like graceful-fs. I'm not sure how I installed npm originally, but it looks like perhaps it came down with node using homebrew. I first ran
brew uninstall node
This removed both node
and npm
from my path. From there I just reinstalled it
brew install node
When it completed I had node
and npm
on my path and I was able to run
rm -rf ~/.npm
npm install -g bower
This then installed bower successfully.
Updating the brew formulas and upgrading the installs didn't seem to work for me, I'm not sure why. The removal of the .npm
folder was something that had worked for other people, and I had tried it without success. I did it this time just in case. Note also that neither of the following solved the problem for me, although it did for others:
npm cache clean
sudo npm cache clean
I was getting this error on npm install and adding .npmignore did not solve it.
Error: ENOENT, stat 'C:\Users\My-UserName\AppData\Roaming\npm'
I tried going to the mentioned folder and it did not exist. The error was fixed when I created npm folder in Roaming folder.
This is on Windows 8.1
I encountered similar behavior after upgrading to npm 6.1.0
. It seemed to work once, but then I got into a state with this error while trying to install a package that was specified by path on the filesystem:
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename
The following things did not fix the problem:
rm -rf node_modules
npm cache clean
(gave npm ERR! As of npm@5, the npm cache self-heals
....use 'npm cache verify' instead.
)npm cache verify
rm -rf ~/.npm
How I fixed the problem:
rm package-lock.json
I had the same problem, and just found a handling not mentioned here. Though I'd contribute to the community:
npm install -g myapp
was not copying the bin
directory. I found this to be because I did not include it in the files
in my package.json
"files": [
"lib",
"bin" // this was missing
]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With