浏览代码

nodejs upgrades

Bob Mottram 8 年前
父节点
当前提交
64f7975df6
共有 1 个文件被更改,包括 56 次插入2 次删除
  1. 56
    2
      src/freedombone-utils-nodejs

+ 56
- 2
src/freedombone-utils-nodejs 查看文件

35
 
35
 
36
 # change these versions at your peril. Things will often crash if you don't
36
 # change these versions at your peril. Things will often crash if you don't
37
 # have specifically the correct versions
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
 NPM_VERSION='4.0.5'
40
 NPM_VERSION='4.0.5'
41
 
41
 
42
 # This file keeps track of the apps needing nodejs
42
 # This file keeps track of the apps needing nodejs
96
         if [ -d /usr/lib/node_modules ]; then
96
         if [ -d /usr/lib/node_modules ]; then
97
             rm -rf /usr/lib/node_modules
97
             rm -rf /usr/lib/node_modules
98
         fi
98
         fi
99
+        if [ -f /usr/bin/n ]; then
100
+            rm /usr/bin/n
101
+        fi
99
 
102
 
100
         remove_app nodejs
103
         remove_app nodejs
101
 
104
 
105
     fi
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
 function install_nodejs {
130
 function install_nodejs {
109
     if [ $INSTALLING_MESH ]; then
131
     if [ $INSTALLING_MESH ]; then
110
         mesh_install_nodejs
132
         mesh_install_nodejs
111
         return
133
         return
112
     fi
134
     fi
113
     if [[ $(is_completed $FUNCNAME) == "1" ]]; then
135
     if [[ $(is_completed $FUNCNAME) == "1" ]]; then
136
+        upgrade_nodejs
114
         return
137
         return
115
     fi
138
     fi
116
 
139
 
130
 cp /usr/bin/nodejs /usr/bin/node
153
 cp /usr/bin/nodejs /usr/bin/node
131
 /usr/bin/curl -0 -L https://npmjs.org/install.sh | sh
154
 /usr/bin/curl -0 -L https://npmjs.org/install.sh | sh
132
 npm install -g n@${NODEJS_N_VERSION} --save
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
 n ${NODEJS_VERSION}
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
 npm install -g npm@${NPM_VERSION} --save
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
 npm install -g pug@2.0.0-beta6 --save
171
 npm install -g pug@2.0.0-beta6 --save
136
 npm install -g graceful-fs@4.1.10 --save
172
 npm install -g graceful-fs@4.1.10 --save
137
 npm install -g minimatch@3.0.3 --save
173
 npm install -g minimatch@3.0.3 --save
145
     fi
181
     fi
146
     rm -f /root/install-nodejs.sh
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
     if [ $1 ]; then
202
     if [ $1 ]; then
149
         if ! grep "install_${1}" $NODEJS_INSTALLED_APPS_FILE; then
203
         if ! grep "install_${1}" $NODEJS_INSTALLED_APPS_FILE; then
150
             echo "install_${1}" >> $NODEJS_INSTALLED_APPS_FILE
204
             echo "install_${1}" >> $NODEJS_INSTALLED_APPS_FILE