问题:在恢复之后,在ASP NET Core project > Dependencies\npm\中包含了许多奇怪的包(恢复)。与我的package.json配置文件不对应的包。怎么阻止它?
在我将使用devDependencies作为UI项目的Empty ASP.NET Core Web项目中,我添加了带有依赖项和节点的package.json文件。
{
"name": "myProject",
"version": "1.0.0",
"scripts": {
"start": "npm run tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
"tsc": "tsc",
"tsc:w": "tsc -w",
"lite": "lite-server",
"typings": "typings",
"postinstall": "typings install"
},
"license": "ISC",
"dependencies": {
"@angular/common": "2.0.0-rc.1",
"@angular/compiler": "2.0.0-rc.1",
"@angular/core": "2.0.0-rc.1",
"@angular/http": "2.0.0-rc.1",
"@angular/platform-browser": "2.0.0-rc.1",
"@angular/platform-browser-dynamic": "2.0.0-rc.1",
"@angular/platform-server": "2.0.0-rc.1",
"@angular/router": "2.0.0-rc.1",
"@angular/router-deprecated": "2.0.0-rc.1",
"@angular/upgrade": "2.0.0-rc.1",
"es6-shim": "^0.35.1",
"reflect-metadata": "0.1.3",
"rxjs": "5.0.0-beta.6",
"systemjs": "^0.19.27",
"zone.js": "^0.6.12",
"bootstrap": "3.3.6",
"jquery": "2.2.3",
"font-awesome": "4.6.1",
"toastr": "2.1.2",
"chart.js": "2.1.3",
"signature_pad": "^1.5.3",
"moment": "2.13.0",
"fullcalendar": "2.7.1",
"fullcalendar-scheduler": "1.3.1"
},
"devDependencies": {
"concurrently": "^2.0.0",
"lite-server": "^2.2.0",
"typescript": "^1.8.10",
"typings": "^0.8.1",
"bootstrap": "3.3.6",
"font-awesome": "4.6.1",
"toastr": "2.1.2",
"signature_pad": "^1.5.3"
}
}立即从项目结构中通知Dependencies文件夹,我必须还原npm包。我打开了npm文件夹,在那里看到了来自package.json的引用,并按下了还原

在npm文件夹的还原结束时,在Dependencies和我看到的下,很多引用都是自动添加的。
node_modules文件夹包含361个包,而不是我的:在package.json中定义的28个包。
我不知道他们为什么会被包括在内。有人知道为什么会这样吗?如何避免这种冗余..。
我认为可以一个一个地卸载软件包.我应该从那个npm文件夹中卸载它们吗?

谢谢。
发布于 2016-05-23 18:08:20
简短的回答:你不应该删除或卸载额外的软件包。它们是package.json中列出的包的依赖项。
新版本的npm改变了包依赖项的安装方式。旧版本总是在包的文件夹下安装包的依赖项,而在它们的文件夹下安装每个包的依赖项,等等。这对依赖关系隔离很有好处,但它导致了深嵌套的文件夹结构,这在Windows上造成了问题,因为它们将超过MAX_PATH。更新版本的npm在根文件夹中安装可共享的子依赖项。您看到的包与以前大致相同,只是在一个更平的文件夹结构中。
现在,在最近的ASP.NET核心RC2发布之前,VS的well并没有很好地显示这种新结构。所有这些扁平的包都会显示为“无关的”根包。如果您可以将Web升级到RC2发行版,那么您应该可以在npm节点下看到所期望的内容:只有package.json中的包,其他包嵌套在它们下面。
https://stackoverflow.com/questions/37339077
复制相似问题