affaan-m/ECC · warning

Warning: is not installed on your system

Error message

Warning: ${pmName} is not installed on your system

What it means

setup-package-manager.js `setGlobal` confirms the requested package manager exists in the known PACKAGE_MANAGERS map, then checks whether its binary is actually available on the system (getAvailablePackageManagers). If not installed, it warns but proceeds — the preference is still saved for a future environment where the tool exists.

Solutions

  1. Install the missing package manager (e.g. `npm i -g pnpm`, `corepack enable`, or the official installer for bun)
  2. Confirm with `pnpm --version` (or the relevant binary) that it is now on PATH
  3. Re-run the setter so the warning disappears
  4. If intentional, ignore the warning — the preference was saved and will apply once the tool is installed

Example fix

// before
$ node scripts/setup-package-manager.js --set-global pnpm
Warning: pnpm is not installed on your system
// after
$ npm i -g pnpm && pnpm --version
$ node scripts/setup-package-manager.js --set-global pnpm
✓ Global preference set to: pnpm
Defensive patterns

Strategy: validation

Validate before calling

const pm = 'pnpm';
if (!PACKAGE_MANAGERS[pm]) { console.error('unknown PM'); process.exit(1); }
try { execSync(`${pm} --version`, { stdio: 'ignore' }); } catch { console.warn(`${pm} not on PATH`); }

Prevention

When it happens

Trigger: Running the setter (e.g. `node scripts/setup-package-manager.js --set-global pnpm` or equivalent flag) with a valid pmName whose executable is not found on PATH via getAvailablePackageManagers().

Common situations: Configuring a new machine before installing pnpm/yarn/bun; switching preferred PM on CI where only npm is preinstalled; setting a preference for a PM planned to be installed later.

Related errors


AI-assisted analysis of affaan-m/ECC@8321021c54 (2026-09-16). Data as JSON: /api/errors/6ef4c2972e5aec83. Report an issue: GitHub.

Appendix: source

Thrown at scripts/setup-package-manager.js:124

    console.log(`${pmName}${current}`);
    console.log(`  Installed: ${installed ? 'Yes' : 'No'}`);
    console.log(`  Lock file: ${config.lockFile}`);
    console.log(`  Install: ${config.installCmd}`);
    console.log(`  Run: ${config.runCmd}`);
    console.log('');
  }
}

function setGlobal(pmName) {
  if (!PACKAGE_MANAGERS[pmName]) {
    console.error(`Error: Unknown package manager "${pmName}"`);
    console.error(`Available: ${Object.keys(PACKAGE_MANAGERS).join(', ')}`);
    process.exit(1);
  }

  const available = getAvailablePackageManagers();
  if (!available.includes(pmName)) {
    console.warn(`Warning: ${pmName} is not installed on your system`);
  }

  try {
    setPreferredPackageManager(pmName);
    console.log(`\n✓ Global preference set to: ${pmName}`);
    console.log('  Saved to: ~/.claude/package-manager.json');
    console.log('');
  } catch (err) {
    console.error(`Error: ${err.message}`);
    process.exit(1);
  }
}

function setProject(pmName) {
  if (!PACKAGE_MANAGERS[pmName]) {
    console.error(`Error: Unknown package manager "${pmName}"`);
    console.error(`Available: ${Object.keys(PACKAGE_MANAGERS).join(', ')}`);
    process.exit(1);

View on GitHub (pinned to 8321021c54)