【发布时间】:2016-07-22 14:05:16
【问题描述】:
我正在尝试了解 NPM 如何与 VS 2015 和 .Net Core 配合使用。我正在关注本教程:http://www.mikesdotnetting.com/article/283/asp-net-5-managing-client-side-dependencies-with-npm-bower-and-gulp
我的 package.json 看起来像这样:
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"gulp": "3.8.11",
"gulp-concat": "2.5.2",
"gulp-cssmin": "0.1.7",
"gulp-uglify": "1.2.0",
"rimraf": "2.2.8"
}
}
我期待在 src/node_modules 下有 Gulp、Gulp-Contact、Gulp-Cssmin、Gulp-Uglify 和 Rimraf。相反,我看到了 200 多个包,并且在我的 package.json 中列出的包中,似乎只安装了 Gulp。
如何删除我不想要的包以及如何确保安装了我需要的包?
编辑: 进一步深入研究,我尝试在我的项目目录中以管理员权限从 Powershell 运行 npm cache clear,但出现此错误:
Error: EPERM: operation not permitted, rmdir 'C:\Users\me\AppData\Roaming\npm-cache'
这让我很惊讶,因为我希望缓存会清除 src/node_modules。有谁知道 Visual Studio 使用哪个版本的 Node?和/或VS使用的node.exe通常位于的位置(使用Win 10)。
从 Visual Studio 包管理器控制台运行 npm cache clear(以管理员身份运行 VS)清除了所有内容。我仍然不确定为什么会这样。
【问题讨论】:
-
npm 扁平化依赖关系。
-
好的,那么所有这些包都是我 package.json 中包的依赖项?
-
@smulholland2:它们扁平化的原因是为了减少硬盘存储和带宽。如果包 A 和 B 依赖于相同版本的包 C,则 C 之前将被下载两次。一次在 A 的 node_module 中,一次在 B 的 node_module 文件夹中。另一个:避免 windows 最大路径长度的问题。当您有许多嵌套文件夹时,它们可能是 Windows 上的问题
标签: node.js visual-studio-2015 npm asp.net-core