AI Workshop: learn to build apps with AI →
npm: npm can install packages in the parent folder

Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.


When you run npm install <packagename> in an empty folder, npm normally creates package.json, package-lock.json, and node_modules. Sometimes that does not happen.

This is due to how npm resolves the project root. For example:

npm install my-prime

In an empty folder, this normally creates package.json, package-lock.json, and installs the package in node_modules.

If that does not happen, npm may have found a package.json or node_modules in a parent directory (or higher in the tree) and used that as the project root instead—for example if you ran the command from your home directory.

npm will walk up the folder tree checking for a folder that contains either a package.json file, or a node_modules folder. If such a thing is found, then that is treated as the effective “current directory” for the purpose of running npm commands.

Source

To fix this, either remove the parent package.json and node_modules if they were created by mistake, or run npm init -y in your folder to create a new package.json, then run npm install <package> again.

Lessons in this unit:

0: Introduction
1: How to use or execute a package installed using npm
2: npm dependencies and devDependencies
3: How to fix the "Missing write access" error when using npm
4: ▶︎ npm can install packages in the parent folder
5: Install an older version of an npm package
6: Find the installed version of an npm package
7: How to test an npm package locally
8: npm global or local packages
9: What are peer dependencies in a Node module?
10: `npm run dev` is a long-running program
11: Semantic Versioning using npm
12: Uninstalling npm packages with `npm uninstall`
13: An introduction to the npm package manager
14: The npx Node Package Runner
15: The package.json guide
16: The package-lock.json file
17: What is pnpm?
18: Should you commit the node_modules folder to Git?
19: Update all the Node dependencies to their latest version
20: Where does npm install the packages?
21: Bumping Node.js dependencies
22: Run package.json scripts upon any file changes in a folder