【问题标题】:Node.js Visual Studio 2013 - path too long errorNode.js Visual Studio 2013 - 路径太长错误
【发布时间】:2014-03-26 19:19:54
【问题描述】:

尝试在加载了 Node.js 工具的 VS 中打开我的解决方案时出现此错误:

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

我的项目路径不能更短,我在驱动器的根目录上。 如果我将“node_modules”文件夹移出解决方案文件夹,我可以打开解决方案,所以它似乎在那里。

【问题讨论】:

  • 错误是什么?阻止您执行操作的错误是什么?
  • 现在从 node js 5 开始,它对其包使用简化的文件夹结构,并且依赖项被扁平化并且文件夹路径的长度比以前的更短。所以升级 Node JS 是明智的。仅供参考

标签: node.js path visual-studio-2013


【解决方案1】:
  1. 在发布构建期间,您可以阻止 Visual Studio 扫描 这些文件/文件夹通过将文件夹属性设置为隐藏 文件夹(只需将其设置为 node_modules)。参考: http://issues.umbraco.org/issue/U4-6219#comment=67-19103

  2. 您可以排除在 通过在 CsProject 文件中包含以下 XML 节点进行打包。


...
bin\
42016,41999,42017,42018,42019,42032,42036,42020,42021,42022File1.aspx;File2.aspxFolder1;Folder2

【讨论】:

    【解决方案2】:

    尝试在您的 csproj 文件中为 WebEssentials 之类的文件创建一个 Inline Task 来下载 nodejs,应该注意的是,在此过程中,您必须将节点模块展平,并注意所有文件路径管理应该使用 Peter 的 LongPath 库来完成,因为它专门用于处理 .NET 的路径长度问题。

    这会很麻烦,但值得一试。

    【讨论】:

    • 问题是有几个 node_modules 在其中具有嵌套的依赖项,有时它们会重复,因为您可能已经在上层拥有它。将所有 NPM 展平并删除嵌套依赖项是明智之举。这将起作用。
    • 好的,谢谢,除非编辑答案,否则我无法更改否决票。
    • @iss42 我尊重这一点,试图将所有可能性都包含在一个答案中
    【解决方案3】:

    这个 npm 包解决了我的问题 :) https://www.npmjs.com/package/flatten-packages

    【讨论】:

      猜你喜欢
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-21
      相关资源
      最近更新 更多