Borislav Hadzhiev
Mon Mar 28 2022·2 min read
Photo by Alex Blăjan
To solve the error "Cannot find module 'commander'", make sure to install the
commander
package by opening your terminal in your project's root directory
and running the following command: npm install commander
and restart your IDE
and development server.
Open your terminal in your project's root directory (where your package.json
file is located) and run the following command:
npm install commander
commander
package to the dependencies of your project.If the error is not resolved, try restarting your IDE and your development server.
If you still get the error, try to delete your node_modules
and
package-lock.json
(not package.json
) files, re-run npm install
and restart
your IDE.
# 👇️ delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json # 👇️ clean npm cache npm cache clean --force npm install npm install commander@latest
If you need to be able to run commander
from every directory on your machine,
you have to install the module globally.
# ✅ Install commander globally npm install -g commander # ✅ Create a symbolic link from the global package # to node_modules/ of current folder npm link commander
The npm link command creates
a symbolic link from the globally installed package to the node_modules/
directory of the current folder.
commander
fails, you might have to run the command prefixed with sudo
.# 👇️ If you got permissions error, run with sudo sudo npm install -g commander npm link commander
If you use ts-node
and write stand-alone executable subcommands in TypeScript
files, you need to call your program through node to get the subcommands called
correctly:
node -r ts-node/register pm.ts
If you're still getting the "Cannot find module 'commander'" error, open your
package.json
file and make sure it contains the commander
package in the
dependencies
object.
{ // ... rest "dependencies": { "commander": "^9.1.0", } }
You can try to manually add the line and re-run npm install
.
npm install
Or install the latest version of the package:
npm install commander@latest