Oryx/platforms/nodejs/build.sh

47 строки
1.5 KiB
Bash
Исходник Обычный вид История

#!/bin/bash
# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT license.
# --------------------------------------------------------------------------------------------
set -ex
version="$1"
debianFlavor="$DEBIAN_FLAVOR"
tarFileName="nodejs-$version.tar.gz"
if [ "$debianFlavor" == "stretch" ]; then
# Use default sdk file name
tarFileName=nodejs-$version.tar.gz
else
tarFileName=nodejs-$debianFlavor-$version.tar.gz
fi
# Certain versions (ex: 6.4.1) of NPM have issues installing native modules
# like 'grpc', so upgrading them to a version whch we know works.
upgradeNpm() {
local node_ver="$1"
local nodeDir="/usr/local/n/versions/node/$node_ver"
local nodeModulesDir="$nodeDir/lib/node_modules"
local npm_ver=`jq -r .version $nodeModulesDir/npm/package.json`
IFS='.' read -ra versionParts <<< "$npm_ver"
local majorPart="${versionParts[0]}"
local minorPart="${versionParts[1]}"
if [ "$majorPart" -eq "6" ] && [ "$minorPart" -lt "9" ] ; then
echo "Upgrading node $node_ver's npm version from $npm_ver to 6.9.0"
cd $nodeModulesDir
PATH="$nodeDir/bin:$PATH" \
"$nodeModulesDir/npm/bin/npm-cli.js" install npm@6.9.0
echo
fi
}
~/n/bin/n -d $version
upgradeNpm $version
cd /usr/local/n/versions/node/$version
mkdir -p /tmp/compressedSdk/nodejs
tar -zcf /tmp/compressedSdk/nodejs/$tarFileName .