简体   繁体   English

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

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

I am using node 0.12.0 with express and created a Docker image. 我使用带有express的节点0.12.0并创建了一个Docker镜像。
This is my directory structure: 这是我的目录结构:

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

My package.json looks like: 我的package.json看起来像:

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

and config/config.js looks like: config/config.js看起来像:

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

I have an issue running this app. 我在运行此应用时遇到问题。 When running it with node server/app I got and error: 当我用node server/app运行它时,我得到了错误:

Error: Cannot find module 'deep-extend'

When running the following, the problem solved and node server/app runs fine: 运行以下时,问题解决了, node server/app运行良好:

cd config
npm install deep-extend

When is the problem? 什么时候出问题? Why node doesn't look on parent folder for node_modules? 为什么node不在node_modules的父文件夹中查找?

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM