当前位置: 首页 > 知识库问答 >
问题:

与在生成服务器上使用Node/NPM有关的路径大小问题

徐鸿达
2023-03-14
cd "$(ProjectDir)"
call "$(ProjectDir)\.bin\npm.cmd" install dustjs-linkedin --save-dev

最终结果“应该”是Dust被下载到项目结构中(在node_modules文件夹中),然后我可以发出命令来编译Dust模板

然而,问题是,当通过NuGet下载npm时,npm文件夹结构被大量嵌套,因此打破了Windows路径260字符限制(https://github.com/nodejs/node-v0.x-archive/issues/6960)-因此,甚至在作业有机会运行npm下载灰尘之前,构建就失败了(注意:我已经减少了TFS文件夹的长度,但是npm为构建名称、项目等的任何划分留下了很少的空间-例如....readable-stream/node_modules/core-util-is/lib约为170个字符)

我读到Node npm windows文件路径太长,无法安装软件包,建议使用verion 3.x,或者使用npm-flatten/dedupe-但我仍然有问题-主要是因为NuGet步骤失败了-在它能够使用npm做任何事情之前

一个解决方案可以是只挑选需要的文件(例如,从npm或者可能更容易[但不太灵活]将只是尘埃文件[dustc等]),并包括在源代码管理中,而不包括Nuget中的npm。但这很麻烦--如果我签入的文件被更新了(就像它们经常更新一样),我必须确保所有文件都完好无损并运行

有没有更干净的办法?

共有1个答案

洪子晋
2023-03-14

尽管路径长度限制真的很烦人,但最有效和简单的方法仍然是花一些时间调整文件/文件夹结构来使其工作。

例如:不使用\xx\build\drope\projectname,而是使用\xx\build\drope\drope(或\xx\build\brojectname),因为项目名称也在构建名称中。

对于TFS中的长路径问题,已经有了一个相关的uservoice,现在已经完成了。

我们已经从BCL中删除了对基本文件操作功能(CRUD)的限制。您可以在这里找到更多细节:

https://blogs.msdn.microsoft.com/dotnet/2016/08/02/innecting-net-framework-4-6-2/

Immo Landwerth程序管理器。NET

 类似资料:
  • 在一个具有不同正边的无向图中,是否可能有一个MST与最短路径树没有公共边? 我一直试图引出不同的例子,但似乎这是不可能的。最短路径树中的最短路径边似乎也应该包括在MST中。

  • 我尝试用Maven发生器原型生成新的Magnolia模块 mvn组织。阿帕奇。专家插件:maven原型插件:2.4:generate-DarchetypeCatalog=https://nexus.magnolia-cms.com/content/groups/public/ Archetype抛出了一个异常 [警告]读取原型目录时出错https://nexus.magnolia-cms.com/

  • (b)假设图的最小生成树是唯一的。无向图的最小生成树中一对顶点之间的路径一定是最短(最小权)路径吗? 我的回答是 (a)

  • 所以我有一个大型Java项目,我称之为ProjectA。我还有另一个项目,ProjectB,这是一个Maven项目,它包括ProjectA作为依赖项(通过将ProjectA编译为jar文件)。我还有许多其他Maven项目:ProjectC1、ProjectC2等。其中每一个都包括ProjectB作为Maven依赖项。 ProjectB包含所有ProjectC项目通用/可访问的代码,以及从Proje

  • 我正在尝试通过运行来安装Node-SassV3.7.0。安装一开始似乎是正常的,然后我反复得到这个转储: 我把这个背靠背扔了很多次。最后返回以下消息: 看起来像是安装好的。但是当我尝试并使用我的应用程序时,我得到node-sass错误,并且表示包没有安装。它返回: 这是什么问题?如何才能成功地安装node-sass?

  • 我已经使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包生成了一个Spring Boot web应用程序。 使用的技术: Spring启动2.0.0。M6,Java8, Maven 这是我的安全配置 在我的 但当我在http://localhost:1234/iberiaWebUtils,而不是去http://localhost:1234/ibe