首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止npm在我的ASP.NET核心web项目上恢复整个存储库

停止npm在我的ASP.NET核心web项目上恢复整个存储库
EN

Stack Overflow用户
提问于 2016-05-20 06:07:29
回答 1查看 1.4K关注 0票数 1

问题:在恢复之后,在ASP NET Core project > Dependencies\npm\中包含了许多奇怪的包(恢复)。与我的package.json配置文件不对应的包。怎么阻止它?

在我将使用devDependencies作为UI项目的Empty ASP.NET Core Web项目中,我添加了带有依赖项节点的package.json文件。

代码语言:javascript
复制
{
  "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文件夹中卸载它们吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-23 18:08:20

简短的回答:你不应该删除或卸载额外的软件包。它们是package.json中列出的包的依赖项。

新版本的npm改变了包依赖项的安装方式。旧版本总是在包的文件夹下安装包的依赖项,而在它们的文件夹下安装每个包的依赖项,等等。这对依赖关系隔离很有好处,但它导致了深嵌套的文件夹结构,这在Windows上造成了问题,因为它们将超过MAX_PATH。更新版本的npm在根文件夹中安装可共享的子依赖项。您看到的包与以前大致相同,只是在一个更平的文件夹结构中。

现在,在最近的ASP.NET核心RC2发布之前,VS的well并没有很好地显示这种新结构。所有这些扁平的包都会显示为“无关的”根包。如果您可以将Web升级到RC2发行版,那么您应该可以在npm节点下看到所期望的内容:只有package.json中的包,其他包嵌套在它们下面。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37339077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档