节点找不到父 node_modules 文件夹中存在的模块

node can't find modules that exists in parent node_modules folder

我将节点 0.12.0 与 express 一起使用并创建了一个 Docker 图像。
这是我的目录结构:

-server/
    -config/
        -config.js
    -app.js
    -package.json
    -node-modules/
        -deep-extend/
            -...
            -...
            -...

我的 package.json 看起来像:

{
  "name": "test",
  "version": "2.0.0",
  "private": true,
  "dependencies": {
    ...
    ...
    "deep-extend": "^0.3.2",
    ...
    ...
  }
}

config/config.js看起来像:

var deepExtend = require('deep-extend');
...
...
...
module.exports = deepExtend({}, .....);

我有一个问题 运行 这个应用程序。当 运行 它与 node server/app 我得到了错误:

Error: Cannot find module 'deep-extend'

当运行以下时,问题解决,node server/app运行正常:

cd config
npm install deep-extend

问题出在什么时候? 为什么节点不查找 node_modules 的父文件夹?

为了解决这个问题,我不得不将 node_modules 文件夹添加到我的 NODE_PATH 环境变量中。