hermes-agent/scripts
alt-glitch aeec88c77f fix(installer): symlink bundled node/npm into command bin dir for FHS root installs
Root installs on Linux (FHS layout, #15608) put the `hermes` command in
`/usr/local/bin` (on PATH) but symlinked the bundled node/npm/npx into
`~/.local/bin`, which isn't on PATH for a stock root shell. `node`/`npm`
were 'command not found' and `hermes dashboard` failed with 'npm is not
available' because its build-on-demand fallback couldn't find npm.

Fix: `install_node()` now symlinks into `get_command_link_dir()` — the same
helper the `hermes` command link already uses — so node/npm/npx land
wherever the command does (`/usr/local/bin` on FHS root, `~/.local/bin`
otherwise, `$PREFIX/bin` on Termux). Non-root and Termux installs are
unchanged.

Also fixes:
- `scripts/lib/node-bootstrap.sh`: adds `_nb_get_link_dir()` mirroring
  the same root/Termux/user logic for the standalone bootstrap path
  (used by `hermes update`, TUI node bootstrap, etc.)
- `hermes_cli/uninstall.py`: `remove_node_symlinks()` now checks all
  candidate directories (`~/.local/bin`, `/usr/local/bin`, `$PREFIX/bin`)
  so root FHS uninstalls don't leave orphan symlinks

Regression from #15608, which created the FHS path for the command but
left `install_node` pointed at the legacy user-local dir.
2026-06-04 02:31:49 -07:00
..
lib fix(installer): symlink bundled node/npm into command bin dir for FHS root installs 2026-06-04 02:31:49 -07:00
tests
whatsapp-bridge
analyze_livetest.py
benchmark_browser_eval.py
build_model_catalog.py
build_skills_index.py
check-windows-footguns.py
contributor_audit.py
discord-voice-doctor.py
docker_config_migrate.py
hermes-gateway
install.cmd
install.ps1
install.sh fix(installer): symlink bundled node/npm into command bin dir for FHS root installs 2026-06-04 02:31:49 -07:00
install_psutil_android.py
keystroke_diagnostic.py
kill_modal.sh
lint_diff.py
LIVETEST_README.md
profile-tui.py
release.py
run_tests.sh
run_tests_parallel.py
sample_and_compress.py
setup_open_webui.sh
tool_search_livetest.py