npm install不会将各个节点模块的依赖项安装到相应的节点模块文件夹

时间:2016-12-06 09:54:44

标签: node.js npm npm-install

npm install正在安装节点模块,直到最近我遇到了一个bug。现在,npm install不会将各个节点模块的依赖项安装到相应的节点模块文件夹中。

Screenshot

查看截图我的意思。 最前面的finder窗口显示错误之前的正确npm安装。 npm install express会下载并将文件放在正确的文件夹中。接受文件夹是express的节点模块,有自己的节点模块,mime类型和协商器。

现在,accept文件夹和它自己的节点模块与express文件夹位于同一级别。正如在后面的取景器窗口中看到的那样。

这导致我无法上传到heroku。

请告知如何解决。

这是我的package.json

{
  "name": "node-muse-examples-webgui",
  "version": "0.1.0",
  "description": "An example on how to use the node-muse module in a web interface.",
  "main": "index.js",
  "engines": {
    "node": "7.2.0"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/ShaPOC/node-muse/tree/master/examples/webgui"
  },
  "author": "Jimmy Aupperlee <j.aup.gt@gmail.com>",
  "license": "GPLv3",
  "dependencies": {
    "body-parser": "^1.15.2",
    "express": "^4.14.0",
    "leapjs": "^0.6.4",
    "mongodb": "^2.2.7",
    "node-muse": "^0.1.0",
    "socket.io": "^1.3.5"
  }
}

1 个答案:

答案 0 :(得分:1)

这种行为不是错误,它实际上是npm @ 3引入的新行为。

这通常不会导致任何冲突或问题,但如果在您的情况下确实如此,请尝试使用

进行安装
npm install --legacy-bundling

,所以删除整个node_modules文件夹并使用该命令重新安装。