Skip to content

Gardener is broken on Node v6.x #2612

@ghost

Description

Gardener appears broken on Node v6.2.0. NPM's call-level interface has changed – specifically, npm.commands.install(dir, url, fn) has changed to npm.commands.install(dir, args, fn), where args can be [ url ]. Audit all uses of the npm module for compatibility with the latest version, and fix API incompatibilities. Either (a) branch a new major version of Gardener for Node v6.x, or (b) add a runtime version check so that the same version of Gardener works on all versions of Node and NPM.

$ node -v
v6.2.0

$ cat /srv/storage/gardener/logs/startup.log
Gardener started successfully. Logs in: /srv/storage/gardener/logs
/srv/software/medic-core/v1.6.1/x64/lib/node_modules/npm/node_modules/aproba/index.js:26
    if (!typeCheck(args[ii])) throw invalidType(ii, typeLabel, args[ii])
                              ^

Error: Argument #2: Expected array but got string
    at EventEmitter.install (/srv/software/medic-core/v1.6.1/x64/lib/node_modules/npm/lib/install.js:179:3)
    at Object.commandCache.(anonymous function) (/srv/software/medic-core/v1.6.1/x64/lib/node_modules/npm/lib/npm.js:114:13)
    at Object.exports.install (/srv/software/gardener/v1.1.1/lib/npm.js:41:18)
    at Array.async.auto.install_package (/srv/software/gardener/v1.1.1/lib/processes.js:313:25)
    at /srv/software/medic-core/v1.6.1/x64/lib/node_modules/async/lib/async.js:596:38
    at _arrayEach (/srv/software/medic-core/v1.6.1/x64/lib/node_modules/async/lib/async.js:85:13)
    at Object.async.auto (/srv/software/medic-core/v1.6.1/x64/lib/node_modules/async/lib/async.js:554:9)
    at _install (/srv/software/gardener/v1.1.1/lib/processes.js:291:11)
    at /srv/software/gardener/v1.1.1/lib/processes.js:135:17
    at /srv/software/gardener/v1.1.1/lib/processes.js:448:20

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions