Documentation

All guidesReference

Practical troubleshooting

A short sequence to distinguish a command, dependency, server, or platform-limit failure.

6 min read

Start with observable state

Confirm the root and files before changing anything: pwd, ls -la, and cat package.json reduce directory mistakes. Then see scripts with npm run, top-level packages with npm ls, and available commands with help or which.

If a process is already active, jobs shows its identifier; stopping and restarting the right job is safer than opening several servers for the same task.

pwd
ls -la
cat package.json
npm run
npm ls
which npm
jobs

Symptom, next check

“Command not found”: run help or which and use npm exec for a local binary. “Script does not exist”: compare its name with npm run. “Native package”: read the installer warning and run that flow where the binary is supported.

“Preview stopped”: confirm jobs, restart only the server job, and open the returned URL. “File does not appear”: save, check the root, and search by path; node_modules, .git, dist, and .odete are skipped in recursive navigation.

SymptomCheck
missing scriptnpm run
local binarynpm exec name or which name
active serverjobs
port/Previewserver’s displayed URL
text errorgrep -rn "term" src
Swift limitProblems and Swift Playgrounds

When to change environments

Move to a Mac or CI for a native addon, Astro/Next build, Swift compilation, system integration, or any Node API the runtime does not implement. Recording the command, output, and package version makes reproduction concrete.

Before reporting a bug, reduce the case: typed command, project directory, smallest code, and full output. That separates a known Odete limit from a project-specific problem.