mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-26 00:21:16 +01:00
Fix ./nodebb upgrade process to not use programmatic npm
- Closes #3451 - Apparently, programmatically invoking npm is like opening Pandora's box. No thanks.
This commit is contained in:
18
nodebb
18
nodebb
@@ -5,8 +5,7 @@ var colors = require('colors'),
|
||||
argv = require('minimist')(process.argv.slice(2)),
|
||||
fs = require('fs'),
|
||||
async = require('async'),
|
||||
touch = require('touch'),
|
||||
npm = require('npm');
|
||||
touch = require('touch');
|
||||
|
||||
var getRunningPid = function(callback) {
|
||||
fs.readFile(__dirname + '/pidfile', {
|
||||
@@ -119,15 +118,12 @@ switch(process.argv[2]) {
|
||||
case 'upgrade':
|
||||
async.series([
|
||||
function(next) {
|
||||
process.stdout.write('1. '.bold + 'Bringing base dependencies up to date\n'.yellow);
|
||||
npm.load({
|
||||
loglevel: 'silent'
|
||||
}, function() {
|
||||
npm.commands.install(next);
|
||||
});
|
||||
process.stdout.write('1. '.bold + 'Bringing base dependencies up to date... '.yellow);
|
||||
require('child_process').execFile('/usr/bin/env', ['npm', 'i', '--production'], next);
|
||||
},
|
||||
function(next) {
|
||||
process.stdout.write('2. '.bold + 'Updating NodeBB data store schema\n'.yellow);
|
||||
process.stdout.write('OK\n'.green);
|
||||
process.stdout.write('2. '.bold + 'Updating NodeBB data store schema.\n'.yellow);
|
||||
var upgradeProc = cproc.fork('app.js', ['--upgrade'], {
|
||||
cwd: __dirname,
|
||||
silent: false
|
||||
@@ -136,7 +132,7 @@ switch(process.argv[2]) {
|
||||
upgradeProc.on('close', next)
|
||||
},
|
||||
function(next) {
|
||||
process.stdout.write('3. '.bold + 'Storing upgrade date in "package.json"\n'.yellow);
|
||||
process.stdout.write('3. '.bold + 'Storing upgrade date in "package.json"... '.yellow);
|
||||
touch(__dirname + '/package.json', {}, next);
|
||||
}
|
||||
], function(err) {
|
||||
@@ -145,6 +141,8 @@ switch(process.argv[2]) {
|
||||
} else {
|
||||
var message = 'NodeBB Upgrade Complete!',
|
||||
spaces = new Array(Math.floor(process.stdout.columns / 2) - (message.length / 2) + 1).join(' ');
|
||||
|
||||
process.stdout.write('OK\n'.green);
|
||||
process.stdout.write('\n' + spaces + message.green.bold + '\n\n'.reset);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user