Skip to content

Commit 9628ad6

Browse files
aaajiaoclaude
andcommitted
fix: handle missing npm/corepack in update command
Node.js v22 on VM has node binary but npm and corepack are missing (likely replaced by system nodejs package during apt upgrade). Update command now auto-detects and self-repairs: 1. If pnpm missing → check for npm/corepack 2. If npm also missing → reinstall Node.js 22 from NodeSource 3. Then enable pnpm via corepack, or npm global install as fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0cce49c commit 9628ad6

2 files changed

Lines changed: 24 additions & 6 deletions

File tree

openclaw-orbstack-setup.sh

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,9 @@ if ! vm_exec "sudo apt-get install -y build-essential git"; then
190190
warn "build-essential install had issues, attempting to continue..."
191191
fi
192192

193-
# pnpm via Corepack (Node.js 22+ built-in, auto-downloads version from packageManager field)
193+
# pnpm (via Corepack if available, otherwise npm global install)
194194
info "$MSG_INFO_INSTALLING_PNPM"
195-
vm_exec "sudo corepack enable"
195+
vm_exec "sudo corepack enable 2>/dev/null || sudo npm install -g pnpm"
196196
ok "$MSG_OK_PNPM_INSTALLED: $(vm_exec 'pnpm --version')"
197197

198198
# --- Pre-flight: disk space check (need ~5GB for clone + build + Docker images) ---
@@ -630,8 +630,17 @@ LATEST_TAG=\$(orb -m $VM_NAME bash -lc "cd ~/openclaw && git describe --tags \\\
630630
echo " -> \$LATEST_TAG"
631631
orb -m $VM_NAME bash -lc "cd ~/openclaw && git checkout '\$LATEST_TAG'"
632632
633-
# Ensure Corepack is enabled (auto-downloads pnpm from packageManager field)
634-
orb -m $VM_NAME bash -lc "sudo corepack enable" 2>/dev/null || true
633+
# Ensure pnpm is available (npm/corepack may be missing after apt upgrade)
634+
orb -m $VM_NAME bash -lc '
635+
if ! command -v pnpm &>/dev/null; then
636+
if ! command -v npm &>/dev/null; then
637+
echo " npm missing, reinstalling Node.js from NodeSource..."
638+
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
639+
sudo apt-get install -y nodejs
640+
fi
641+
sudo corepack enable 2>/dev/null || sudo npm install -g pnpm
642+
fi
643+
'
635644
636645
echo "\$MSG_CMD_UPDATE_INSTALLING"
637646
orb -m $VM_NAME bash -lc "cd ~/openclaw && pnpm install"

scripts/refresh-mac-commands.sh

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,17 @@ LATEST_TAG=\$(orb -m $VM_NAME bash -lc "cd ~/openclaw && git describe --tags \\\
225225
echo " -> \$LATEST_TAG"
226226
orb -m $VM_NAME bash -lc "cd ~/openclaw && git checkout '\$LATEST_TAG'"
227227
228-
# Ensure Corepack is enabled (auto-downloads pnpm from packageManager field)
229-
orb -m $VM_NAME bash -lc "sudo corepack enable" 2>/dev/null || true
228+
# Ensure pnpm is available (npm/corepack may be missing after apt upgrade)
229+
orb -m $VM_NAME bash -lc '
230+
if ! command -v pnpm &>/dev/null; then
231+
if ! command -v npm &>/dev/null; then
232+
echo " npm missing, reinstalling Node.js from NodeSource..."
233+
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
234+
sudo apt-get install -y nodejs
235+
fi
236+
sudo corepack enable 2>/dev/null || sudo npm install -g pnpm
237+
fi
238+
'
230239
231240
echo "\$MSG_CMD_UPDATE_INSTALLING"
232241
orb -m $VM_NAME bash -lc "cd ~/openclaw && pnpm install"

0 commit comments

Comments
 (0)