fix: remove Node.js from actual path location on Act runner
The Act runner has Node 18 at /opt/acttoolcache/node/18.20.3/x64/bin/, not at /usr/local/bin/. Use $(dirname "$(which node)") to find and remove the actual binary location before installing Node 22. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -25,10 +25,11 @@ jobs:
|
|||||||
NEED_INSTALL=false
|
NEED_INSTALL=false
|
||||||
if command -v node >/dev/null 2>&1; then
|
if command -v node >/dev/null 2>&1; then
|
||||||
NODE_MAJOR=$(node --version | sed 's/v\([0-9]*\).*/\1/')
|
NODE_MAJOR=$(node --version | sed 's/v\([0-9]*\).*/\1/')
|
||||||
|
OLD_NODE_DIR=$(dirname "$(which node)")
|
||||||
echo "Found Node.js $(node --version) at $(which node) (major: ${NODE_MAJOR})"
|
echo "Found Node.js $(node --version) at $(which node) (major: ${NODE_MAJOR})"
|
||||||
if [ "$NODE_MAJOR" -lt 22 ]; then
|
if [ "$NODE_MAJOR" -lt 22 ]; then
|
||||||
echo "Node.js ${NODE_MAJOR} is too old, removing before installing 22..."
|
echo "Node.js ${NODE_MAJOR} is too old, removing before installing 22..."
|
||||||
sudo rm -f /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx /usr/local/bin/corepack
|
sudo rm -f "${OLD_NODE_DIR}/node" "${OLD_NODE_DIR}/npm" "${OLD_NODE_DIR}/npx" "${OLD_NODE_DIR}/corepack"
|
||||||
hash -r
|
hash -r
|
||||||
NEED_INSTALL=true
|
NEED_INSTALL=true
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user