Ver código fonte

nodejs upgrades

Bob Mottram 8 anos atrás
pai
commit
64f7975df6
1 arquivos alterados com 56 adições e 2 exclusões
  1. 56
    2
      src/freedombone-utils-nodejs

+ 56
- 2
src/freedombone-utils-nodejs Ver arquivo

@@ -35,8 +35,8 @@ VARIANTS='mesh'
35 35
 
36 36
 # change these versions at your peril. Things will often crash if you don't
37 37
 # have specifically the correct versions
38
-NODEJS_VERSION='6.9.0'
39
-NODEJS_N_VERSION='2.1.4'
38
+NODEJS_VERSION='6.10.1'
39
+NODEJS_N_VERSION='2.1.7'
40 40
 NPM_VERSION='4.0.5'
41 41
 
42 42
 # This file keeps track of the apps needing nodejs
@@ -96,6 +96,9 @@ function remove_nodejs {
96 96
         if [ -d /usr/lib/node_modules ]; then
97 97
             rm -rf /usr/lib/node_modules
98 98
         fi
99
+        if [ -f /usr/bin/n ]; then
100
+            rm /usr/bin/n
101
+        fi
99 102
 
100 103
         remove_app nodejs
101 104
 
@@ -105,12 +108,32 @@ function remove_nodejs {
105 108
     fi
106 109
 }
107 110
 
111
+function upgrade_nodejs {
112
+    CURR_NODE_VERSION=$(node --version)
113
+    CURR_NPM_VERSION=$(npm --version)
114
+    CURR_N_VERSION=$(n --version)
115
+    if [[ "$CURR_NPM_VERSION" != "$NPM_VERSION" ]]; then
116
+        npm install -g npm@${NPM_VERSION} --save
117
+    fi
118
+    if [[ "$CURR_N_VERSION" != "$NODEJS_N_VERSION" ]]; then
119
+        npm upgrade -g n@${NODEJS_N_VERSION} --save
120
+    fi
121
+    if [[ "$CURR_NODE_VERSION" != "$NODEJS_VERSION" ]]; then
122
+        n {NODEJS_VERSION}
123
+    fi
124
+    cp /usr/local/bin/n /usr/bin/n
125
+    cp /usr/local/bin/npm /usr/bin/npm
126
+    cp /usr/local/bin/node /usr/bin/nodejs
127
+    cp /usr/local/bin/node /usr/bin/node
128
+}
129
+
108 130
 function install_nodejs {
109 131
     if [ $INSTALLING_MESH ]; then
110 132
         mesh_install_nodejs
111 133
         return
112 134
     fi
113 135
     if [[ $(is_completed $FUNCNAME) == "1" ]]; then
136
+        upgrade_nodejs
114 137
         return
115 138
     fi
116 139
 
@@ -130,8 +153,21 @@ cp /usr/bin/nodejs /usr/local/bin/node
130 153
 cp /usr/bin/nodejs /usr/bin/node
131 154
 /usr/bin/curl -0 -L https://npmjs.org/install.sh | sh
132 155
 npm install -g n@${NODEJS_N_VERSION} --save
156
+if [ -f /usr/local/bin/n ]; then
157
+    exit 1
158
+fi
159
+cp /usr/local/bin/n /usr/bin/n
133 160
 n ${NODEJS_VERSION}
161
+if [ ! -f /usr/local/bin/node ]; then
162
+    exit 2
163
+fi
164
+cp /usr/local/bin/node /usr/bin/nodejs
165
+cp /usr/local/bin/node /usr/bin/node
134 166
 npm install -g npm@${NPM_VERSION} --save
167
+if [ ! -f /usr/local/bin/npm ]; then
168
+    exit 3
169
+fi
170
+cp /usr/local/bin/npm /usr/bin/npm
135 171
 npm install -g pug@2.0.0-beta6 --save
136 172
 npm install -g graceful-fs@4.1.10 --save
137 173
 npm install -g minimatch@3.0.3 --save
@@ -145,6 +181,24 @@ EOF
145 181
     fi
146 182
     rm -f /root/install-nodejs.sh
147 183
 
184
+    # node seems tricky so here we're going to double check
185
+    # that the versions we expect did get installed
186
+    CURR_NODE_VERSION=$(node --version)
187
+    CURR_NPM_VERSION=$(npm --version)
188
+    CURR_N_VERSION=$(n --version)
189
+    if [[ "$CURR_NPM_VERSION" != "$NPM_VERSION" ]]; then
190
+        echo $"Expected npm version $NPM_VERSION but actually have $CURR_NPM_VERSION"
191
+        exit 6728252
192
+    fi
193
+    if [[ "$CURR_N_VERSION" != "$NODEJS_N_VERSION" ]]; then
194
+        echo $"Expected n version $NODEJS_N_VERSION but actually have $CURR_N_VERSION"
195
+        exit 5267452
196
+    fi
197
+    if [[ "$CURR_NODE_VERSION" != "$NODEJS_VERSION" ]]; then
198
+        echo $"Expected node version $NODEJS_VERSION but actually have $CURR_NODE_VERSION"
199
+        exit 5274527
200
+    fi
201
+
148 202
     if [ $1 ]; then
149 203
         if ! grep "install_${1}" $NODEJS_INSTALLED_APPS_FILE; then
150 204
             echo "install_${1}" >> $NODEJS_INSTALLED_APPS_FILE