TBR: Use "node npm" rather than calling "npm" directly.
Change-Id: I06ed96bf2d6f8de2b020b6a270fbfdb78b222288
diff --git a/Makefile b/Makefile
index 6ad52bc..55b8467 100644
--- a/Makefile
+++ b/Makefile
@@ -3,6 +3,10 @@
NODE_DIR := $(shell jiri v23-profile list --info Target.InstallationDir nodejs)
export PATH := ./go/bin:$(JIRI_ROOT)/release/go/bin:node_modules/.bin:$(NODE_DIR)/bin:$(PATH)
+# NOTE: we run npm using 'node npm' to avoid relying on the shebang line in the
+# npm script, which can exceed the Linux shebang length limit on Jenkins.
+NPM := $(NODE_DIR)/bin/npm
+
# This target causes any target files to be deleted if the target task fails.
.DELETE_ON_ERROR:
@@ -62,12 +66,12 @@
jiri run vdl generate --lang=javascript --js-out-dir=src/gen-vdl v.io/v23/services/syncbase/...
node_modules: package.json
- npm prune
- npm install
+ node $(NPM) prune
+ node $(NPM) install
# Link Vanadium from JIRI_ROOT.
rm -rf ./node_modules/vanadium
- cd "$(JIRI_ROOT)/release/javascript/core" && npm link
- npm link vanadium
+ cd "$(JIRI_ROOT)/release/javascript/core" && node $(NPM) link
+ node $(NPM) link vanadium
touch node_modules
# We use the same test runner as vanadium.js. It handles starting and stopping