@@ -4,25 +4,34 @@ if [ -z "$NODE_VERSION" ]; then
4
4
exit 1
5
5
fi
6
6
7
+ set -o xtrace # Write all commands first to stderr
8
+ set -o errexit # Exit the script with error if any of the commands fail
9
+
7
10
NODE_ARTIFACTS_PATH=" ${PROJECT_DIRECTORY} /node-artifacts"
8
11
NPM_CACHE_DIR=" ${NODE_ARTIFACTS_PATH} /npm"
9
12
NPM_TMP_DIR=" ${NODE_ARTIFACTS_PATH} /tmp"
10
-
11
- NVM_WINDOWS_URL=" https://github.com/coreybutler/nvm-windows/releases/download/1.1.7 /nvm-noinstall.zip"
12
- NVM_URL=" https://raw.githubusercontent.com/nvm-sh /nvm/v0.35.3 /install.sh"
13
+ BIN_DIR= " $( pwd ) /bin "
14
+ NVM_WINDOWS_URL=" https://github.com/coreybutler/nvm-windows/releases/download/1.1.9 /nvm-noinstall.zip"
15
+ NVM_URL=" https://raw.githubusercontent.com/creationix /nvm/v0.38.0 /install.sh"
13
16
14
17
# this needs to be explicitly exported for the nvm install below
15
18
export NVM_DIR=" ${NODE_ARTIFACTS_PATH} /nvm"
16
- export XDG_CONFIG_HOME=${NODE_ARTIFACTS_PATH}
17
19
18
20
# create node artifacts path if needed
19
- mkdir -p ${NVM_DIR}
20
- mkdir -p ${NPM_CACHE_DIR}
21
+ mkdir -p " ${NODE_ARTIFACTS_PATH} "
22
+ mkdir -p " ${NPM_CACHE_DIR} "
21
23
mkdir -p " ${NPM_TMP_DIR} "
24
+ mkdir -p " ${BIN_DIR} "
25
+ mkdir -p " ${NVM_DIR} "
26
+
27
+ # Add mongodb toolchain to path
28
+ export PATH=" ${BIN_DIR} :${PATH} "
22
29
23
30
# install Node.js
24
- echo " --- Installing Node ${NODE_VERSION} --- "
31
+ echo " Installing Node ${NODE_LTS_NAME} "
25
32
if [ " $OS " == " Windows_NT" ]; then
33
+ set +o xtrace
34
+
26
35
export NVM_HOME=` cygpath -w " $NVM_DIR " `
27
36
export NVM_SYMLINK=` cygpath -w " $NODE_ARTIFACTS_PATH /bin" `
28
37
export PATH=` cygpath $NVM_SYMLINK ` :` cygpath $NVM_HOME ` :$PATH
@@ -40,17 +49,33 @@ root: $NVM_HOME
40
49
path: $NVM_SYMLINK
41
50
EOT
42
51
43
- nvm install ${NODE_VERSION}
44
- nvm install 10.22.0 # install lts for compilation only
45
- nvm on
52
+ echo " Running: nvm install lts"
53
+ nvm install lts
54
+ echo " Running: nvm install ${NODE_VERSION} "
55
+ nvm install " ${NODE_VERSION} "
56
+ echo " Running: nvm use lts"
57
+ nvm use lts
58
+ echo " Running: npm install -g [email protected] "
59
+ npm install -g
[email protected] # https://github.com/npm/cli/issues/4341
60
+ set -o xtrace
46
61
else
62
+ set +o xtrace
63
+
64
+ echo " Downloading nvm"
47
65
curl -o- $NVM_URL | bash
48
66
[ -s " ${NVM_DIR} /nvm.sh" ] && \. " ${NVM_DIR} /nvm.sh"
49
67
50
- nvm install --no-progress ${NODE_VERSION}
51
- nvm install --no-progress 10.22.0 # install lts for compilation only
68
+ echo " Running: nvm install --lts --latest-npm"
69
+ nvm install --lts --latest-npm
70
+ echo " Running: nvm install ${NODE_VERSION} "
71
+ nvm install " ${NODE_VERSION} "
72
+ echo " Running: nvm use --lts"
73
+ nvm use --lts
74
+
75
+ set -o xtrace
52
76
fi
53
- nvm use 10.22.0 # use lts for setup, runtime node can be different
77
+
78
+
54
79
55
80
# setup npm cache in a local directory
56
81
cat << EOT > .npmrc
63
88
64
89
# install node dependencies
65
90
npm install # npm prepare runs after install and will compile the library
66
- nvm use ${NODE_VERSION} # Switch to the node version we want to test against
91
+ nvm use " ${NODE_VERSION} " # Switch to the node version we want to test against
0 commit comments