Open brianpmaher opened 2 weeks ago
Agreed. Please fix.
@brianpmaher I have tested the scenario where running npm install in an empty directory does not create a package.json or any other files, which seems to align with expected behavior npm generally needs a package.json to install dependencies.
i dont believe this what we expect to happen
I misspoke, it creates a package-lock.json
, not package.json
and it does also create a directory when using --prefix
a similarly frustrating experience is if you npm uninstall
a package in the wrong directory. npm will also go ahead and build a package-lock.json
and an empty package.json
.
desired behavior would be for npm to warn you that no package.json
file was found in that directory
this appears to be easily reproducible.
mkdir temp
cd temp
npm uninstall is-even
A package.json
and package-lock.json
file will now be present
When a user runs step 3 npm
should warn that no package.json
file is present then end
I would be happy to author a PR on this, especially if someone is willing to point me in the right direction just to get started.
@Kyle-Ignis Appreciate if you can raise the PR.
Is there an existing issue for this?
This issue exists in the latest npm version
Current Behavior
Running
npm install
from a directory without a package.json creates a emptypackage.json
file. Additionally, runningnpm --prefix some-directory install
will also create the directory.Expected Behavior
100% of the time I have done this, it has been on accident and I then have to go and delete the directory and/or the package.json file it creates.
I think it would be better to add an error message output indicating that there is no
package.json
present in the directory or the directory doesn't exist, and then suggesting I runnpm init
instead.Steps To Reproduce
mkdir temp
cd temp
npm --prefix temp2 install
Environment