From 15c6a98227a3a0840ea99249cec3af6c5bc2d4de Mon Sep 17 00:00:00 2001 From: kyssta-exe Date: Sat, 13 Jun 2026 03:42:25 +0000 Subject: [PATCH] fix(installer): skip node/npm/npx symlinks for user installs (#45279) --- scripts/install.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index ce34ab2aa2cc0..a01fea30df7fa 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -846,10 +846,17 @@ install_node() { local node_link_dir node_link_dir="$(get_command_link_dir)" - mkdir -p "$node_link_dir" - ln -sf "$HERMES_HOME/node/bin/node" "$node_link_dir/node" - ln -sf "$HERMES_HOME/node/bin/npm" "$node_link_dir/npm" - ln -sf "$HERMES_HOME/node/bin/npx" "$node_link_dir/npx" + # Only create node/npm/npx symlinks for root/FHS installs where they + # are needed for command resolution from a login shell. For user + # installs (~/.local/bin) the symlinks would shadow the user's own + # Homebrew/nvm node — Hermes invokes its bundled node via absolute + # path in its own subprocesses anyway. (GH-45279) + if [ "$ROOT_FHS_LAYOUT" = true ] || is_termux; then + mkdir -p "$node_link_dir" + ln -sf "$HERMES_HOME/node/bin/node" "$node_link_dir/node" + ln -sf "$HERMES_HOME/node/bin/npm" "$node_link_dir/npm" + ln -sf "$HERMES_HOME/node/bin/npx" "$node_link_dir/npx" + fi export PATH="$HERMES_HOME/node/bin:$PATH"