npm安装因多层本地依赖关系而失败

npm安装因多层本地依赖关系而失败,npm,Npm,如果我依赖于一个本地包,而这个本地包本身又依赖于另一个本地包,那么npm安装似乎不起作用。我使用的是npm版本2.5.1 以下是我所拥有的: /src/modules/moduleA的package.json: { "name": "moduleA", "version": "0.0.1", ... "dependencies": { "bluebird": "^2.9.1", "nodemailer": "^1.3.0" } } /src/modules/

如果我依赖于一个本地包,而这个本地包本身又依赖于另一个本地包,那么npm安装似乎不起作用。我使用的是npm版本2.5.1

以下是我所拥有的:

/src/modules/moduleA的package.json:

{
  "name": "moduleA",
  "version": "0.0.1",
  ...
  "dependencies": {
    "bluebird": "^2.9.1",
    "nodemailer": "^1.3.0"
  }
}
/src/modules/moduleB的package.json:

{
  "name": "moduleB",
  "version": "1.0.0",
  ...
  "dependencies": {
    "nconf": "~0.6.7",
    "moduleA": "../moduleA"
  }
}
/src/apps/coolApp的package.json:

{
  "name": "coolApp",
  "version": "1.0.0",
  ...
  "dependencies": {
    "mysql": "~2.4.2",
    "request": "~2.40.0",
    "cheerio": "~0.17.0",
    "async": "~0.9.0",
    "expand-url": "0.1.3",
    "moduleB": "../../modules/moduleB"
  }
}
现在,如果我尝试
npm安装

cd /src/modules/moduleA
npm install
    [success, yay!]

cd /src/modules/moduleB
npm install
    [success, yay!]

cd /src/apps/coolApp
npm install
    npm ERR! addLocal Could not install /src/node/apps/moduleA
    npm ERR! enoent ENOENT, open '/src/node/apps/moduleA'
    npm ERR! enoent This is most likely not a problem with npm itself
    npm ERR! enoent and is related to npm not being able to find a file.
[oh no!]

出于某种原因,npm正在尝试为coolApp安装moduleA,尽管它不需要直接安装,而且它正在使用相对路径字符串,因为它是在moduleB的package.json文件中指定的,尽管这对coolApp无效,因为它位于一个相对不同的位置。

我发现,如果在路径之前用“file:”指定本地模块,则一切正常。耶

像这样:

"moduleB": "file:../../modules/moduleB"

鲍尔也是如此,但这不起作用。你知道解决这个问题的方法吗?对不起,我不知道(假设“file:”不适用于Bower的模式)。