Openshift failing to load npm modules?

I'm trying to deploy an app that works on my local machine to openshift, and get this error repeatedly in the openshift logs.

DEBUG: Program node app.js exited with code 8
DEBUG: Starting child process with 'node app.js'
Thu, 28 Aug 2014 12:41:39 GMT express-session deprecated undefined resave option; provide resave option at app.js:34:11
Thu, 28 Aug 2014 12:41:39 GMT express-session deprecated undefined saveUninitialized option; provide saveUninitialized option at app.js:34:11
js-bson: Failed to load c++ bson extension, using pure JS version
module.js:340
    throw err;
          ^
Error: Cannot find module './lib'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/var/lib/openshift/53ff14425973ca8c8600046a/app-root/runtime/repo/node_modules/request/node_modules/qs/index.js:1:80)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
DEBUG: Program node app.js exited with code 8
DEBUG: Starting child process with 'node app.js'

the package.json file I am using is

{
  "name": "restodb",
  "version": "0.1.0",
  "description": "Backend for AF resto database",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "async": "^0.9.0",
    [snip],
    "path": "^0.4.9",
    "request": "^2.40.0"
  },
  "devDependencies": {
    "grunt-shell-spawn": "^0.3.0"
  }
}

I logged into the app and can see that while there is a qs directory in the request node_modules it does not have a ./lib directory, which is very strange. Grateful for suggestions to try.

O, I solved this by logging into the app, and running npm update from the relevant subdirectory