Skip to content

Installer fails when system Node.js is below minimum version #1078

@ericksoa

Description

@ericksoa

Summary

install_nodejs() in install.sh short-circuits when any Node.js is found on PATH, regardless of version. If the system Node is below MIN_NODE_VERSION (22.16.0), the installer skips the nvm upgrade path, then ensure_supported_runtime() rejects the old version and exits.

This affects any environment with Node.js <22.16.0 pre-installed (e.g. GitHub Actions ubuntu-24.04 runners ship Node 20).

Reproduction

# On a system with Node.js v20.x
curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
[INFO]  Node.js found: v20.20.1
[ERROR] Unsupported runtime detected: Node.js v20.20.1, npm 10.8.2.
        NemoClaw requires Node.js >=22.16.0 and npm >=10.

Root cause

Two issues in install.sh:

  1. install_nodejs() returns early when any node binary exists without checking its version
  2. ensure_nvm_loaded() skips sourcing nvm.sh when any node is on PATH, so even if the nvm install path runs, Node 22 never gets activated in the parent shell

Fix

  • Check the found Node version against MIN_NODE_VERSION before returning early
  • Add --force flag to ensure_nvm_loaded() for the upgrade path

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions