Linusite
Back to blog
DevOps

Fixing the aaPanel "Please go to the [module] and click [one-key install]" error for Node.js projects

If aaPanel keeps telling you to one-key install a module that you've already installed, the fix is two lines in the project's package.json and a manual node_modules rebuild.

LM
Linus Moses
Products Manager · July 13, 2025 · 5 min read
Fixing the aaPanel "Please go to the [module] and click [one-key install]" error for Node.js projects

If you've ever hit this in aaPanel's Node Project Manager — "Please go to the [module] and click [one-key install] to install the module dependencies" — and the panel keeps insisting even after you click install, you're not alone. We hit it on customer servers regularly. Here's what's actually happening and how to fix it for good.

What the error really means

aaPanel's "one-key install" runs npm install --production from the panel's own context, with its own bundled Node. When the project's package.json lists a Node version aaPanel can't satisfy (or when the project expects a package manager like pnpm or yarn), the install silently fails and the panel falls back to the error message.

The fix, in order

  1. SSH into the server. The panel hides the real error; the shell shows it.
  2. Switch to the project directory: cd /www/wwwroot/yourapp/
  3. Match the Node version explicitly. Edit package.json and set an "engines": { "node": ">=20" } block that matches the version aaPanel has installed. Check with node -v.
  4. If the project uses pnpm or yarn, install those globally first: npm i -g pnpm (or yarn). aaPanel doesn't bundle them.
  5. Manually run the install in the shell. As the correct user (often www): sudo -u www pnpm install or sudo -u www npm install --omit=dev.
  6. Restart the app from the panel. The "one-key install" warning disappears because the modules are now actually present.

Bonus: stop it from happening again

Add a "postinstall": "node -e 'process.exit(0)'" script if you need a no-op to keep aaPanel happy, and pin your Node version in .nvmrc so the next developer to touch the repo can't accidentally regress it.

If you're running aaPanel in production and want a sanity-checked, hardened setup instead, our server management service covers the whole stack — Node, Nginx, SSL, backups, monitoring.