6

我对 npm 创建的 node_modules 文件夹有疑问。

指定的路径、文件名或两者都太长。完全限定的文件名必须少于 260 个字符,目录名必须少于 248 个字符。

一个解决方案是安装 npm@3,因为它具有使文件夹变平的--flat参数。这很好。

现在我在 VS2015 中使用 Task Runner Explorer。默认使用 npm 来安装没有“--flat”选项的模块。结果是我无法发布web项目,因为路径超出限制(即使将node_modules文件夹添加到项目文件中的ExcludeFoldersFromDeployment属性中),错误消息是:

“CollectFilesinFolder”任务意外失败

一个解决方案是手动调用 npm install --flat 但我的同事会遇到同样的问题(我不是在谈论从文件系统中删除文件夹:-/)。

有没有办法通过配置 Taks Runner Explorer 或在 package.json 中配置 npm install 的参数?

4

1 回答 1

5

根据当前的 NPM 文档 (v3.3.9),npm install没有--flat命令行选项。据我所知,NPM v3总是在平面目录结构中安装模块(你可以通过命令行安装来判断)。

为确保 Visual Studio 使用您的 node/npm 版本运行其命令,您需要:

  • 安装该版本的 npm。例如:cd C:\path\to\nodejs\ && npm install npm@3
  • 自定义外部 Web 工具路径。例如,移到$(PATH)所有$(DevEnvDir)...选项之上。

作为健全性检查,打开交互式节点窗口并执行.npm version. 它应该输出一个“npm”属性等于的对象npm --version

您现在应该能够使用 npm @3 在 Visual Studio 中进行 NPM 安装。

于 2015-10-23T19:53:14.857 回答