npm install正在安装节点模块,直到最近我遇到了一个bug。现在,npm install不会将各个节点模块的依赖项安装到相应的节点模块文件夹中。
查看截图我的意思。 最前面的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"
}
}
答案 0 :(得分:1)
这种行为不是错误,它实际上是npm @ 3引入的新行为。
这通常不会导致任何冲突或问题,但如果在您的情况下确实如此,请尝试使用
进行安装npm install --legacy-bundling
,所以删除整个node_modules文件夹并使用该命令重新安装。