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
- Install the missing package manager (e.g. `npm i -g pnpm`, `corepack enable`, or the official installer for bun)
- Confirm with `pnpm --version` (or the relevant binary) that it is now on PATH
- Re-run the setter so the warning disappears
- 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
- Install the package manager before setting it as the global preference
- Verify with `<pm> --version` that the binary resolves on PATH
- On fresh machines/CI, bootstrap dependencies before configuring preferences
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
- Choose at least one guided harness: Claude, Codex, or Kimi.
- ECC_NASIKO_CLI_EXECUTABLE must be an absolute path.
- ENOENT
- must be an absolute path explicitly configured by the…
- (fail) ClaudeSetupError with code, message and details
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)