Skip to content

Commit 8140c90

Browse files
authored
Merge pull request #540 from bareboat-necessities/codex/switch-from-pnpm-to-npm-in-install-script
Switch SignalK install to npm
2 parents 4e299aa + 0c48e21 commit 8140c90

File tree

1 file changed

+5
-16
lines changed

1 file changed

+5
-16
lines changed

install-scripts/4-server/04-signalk.sh

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ apt-get install -y -q --no-install-recommends \
6262

6363
log "Installing modern node-gyp + tooling..."
6464
npm cache clean --force || true
65-
npm install -g npm pnpm patch-package typescript node-gyp@latest
65+
npm install -g npm patch-package typescript node-gyp@latest
6666

6767
NODE_GYP_JS="$(npm root -g)/node-gyp/bin/node-gyp.js"
6868
if [ ! -f "$NODE_GYP_JS" ]; then
@@ -72,10 +72,8 @@ if [ ! -f "$NODE_GYP_JS" ]; then
7272
exit 1
7373
fi
7474
export npm_config_node_gyp="$NODE_GYP_JS"
75-
export PNPM_HOME="${PNPM_HOME:-/usr/local/share/pnpm}"
76-
export PATH="$PNPM_HOME:$PATH"
7775
log "Using node-gyp: $npm_config_node_gyp ($(node-gyp --version || true))"
78-
log "Node: $(node -v), npm: $(npm -v), pnpm: $(pnpm -v), python: $(python3 -V)"
76+
log "Node: $(node -v), npm: $(npm -v), python: $(python3 -V)"
7977

8078
# Create user/group
8179
ensure_group signalk
@@ -167,7 +165,7 @@ npm cache clean --force || true
167165
# --unsafe-perm is often needed for native addons/scripts when running as root during image build
168166
npm install -g --unsafe-perm --production signalk-server
169167

170-
# Helper to run npm/pnpm as SignalK with correct env (node-gyp override + flags)
168+
# Helper to run npm as SignalK with correct env (node-gyp override + flags)
171169
run_as_signalk() {
172170
local cmd="$1"
173171
su signalk --shell=/bin/bash -c "
@@ -183,12 +181,9 @@ run_as_signalk() {
183181
# Install plugins in /home/signalk/.signalk
184182
pushd /home/signalk/.signalk >/dev/null
185183

186-
# Prefer pnpm (more deterministic); npm can still be used if you want.
187-
# IMPORTANT: pnpm may block postinstall scripts unless approve-builds is used.
188-
# We pipe approve-builds to auto-approve (your original behavior).
189-
log "Installing Signal K plugins (LITE) via pnpm..."
184+
log "Installing Signal K plugins (LITE) via npm..."
190185
run_as_signalk "
191-
pnpm install --unsafe-perm --loglevel error \
186+
npm install --unsafe-perm --loglevel error --omit=dev \
192187
@signalk/resources-provider \
193188
@signalk/charts-plugin \
194189
@signalk/course-provider \
@@ -211,7 +206,6 @@ run_as_signalk "
211206
signalk-path-filter \
212207
signalk-datetime \
213208
@meri-imperiumi/signalk-autostate
214-
( echo a; sleep 1; echo y ) | pnpm approve-builds
215209
"
216210

217211
popd >/dev/null
@@ -224,11 +218,6 @@ sed -i 's#@signalk/server-admin-ui#admin#' "$(find /usr/lib/node_modules/signalk
224218
# see https://github.com/SignalK/signalk-server/pull/1455/
225219
sed -i 's/\(filter(.*\]\)/"".join(\1)/' "$(find /usr/lib/node_modules/signalk-server -name pigpio-seatalk.js 2>/dev/null)" || true
226220

227-
# use pnpm instead of npm
228-
sed -i "s#('npm',#('pnpm',#" /usr/lib/node_modules/signalk-server/lib/modules.js || true
229-
# SignalK fix for pnpm
230-
sed -i -e "s/--save\"',/\"--save-prod'\",/g" /usr/lib/node_modules/signalk-server/lib/modules.js || true
231-
232221
# sudoers tweaks
233222
{
234223
echo "signalk ALL=(ALL) NOPASSWD: /bin/date";

0 commit comments

Comments
 (0)