All*_*ore 87 windows filepath node.js npm
情况
我想在Windows托管的开发环境中使用gulp和相关的前端工具链.我正试图使用像Browser-Sync这样的gulp插件,因为node_modules文件夹图表会让Windows文件路径过长而无法复制文件.我想在Windows上处理这个问题的实用方法,无论Node社区可能提供或不提供什么来改善Windows上的npm可用性.
2个问题
Windows的npm工作流程是否按照预期的方式工作?"运行命令和文件安装"(例如,与OSX上的npm相比,Linux上的npm,ruby gems甚至是nuget)我不想在每次使用时都乱用一堆手动文件编辑,符号链接等在Windows上的npm.
是否有一个记录良好,稳定的Cygwin工作流,用于npm和节点执行,以解决Windows API文件路径限制?
下面列出的血腥细节......
一般问题
我目前的黑客
其他难吃的解决方法
符号链接可用于缩短文件路径,但这些是kludgy hacks.随着npm生态系统的增长,嵌套的依赖链将变得太长,这种解决方法变得无法使用.
在我遇到的一个线程中提到了将所有依赖项添加到根文件夹的package.json文件中.虽然这种方法会使文件夹结构变平并防止加载重复模块,但这种解决方法感觉不自然.它还会破坏npm的可用性,持久性和生产力,因为你必须手动或使用一些hacky脚本来安装文件和文件夹.这种方法也容易受到符号链接方法可能最终遭受的同样命运的影响.
bio*_*tal 56
Windows上深层嵌套文件夹的问题主要是从npm版本开始解决的3.x.
据npm说:
.npm @ 3通过将所有内容提升到顶级node_modules来使安装"最大化".这意味着嵌套只发生在冲突上,因此树不应该变得非常深.因此,不应该遇到窗口路径长度限制.
我刚刚安装了npm 3.1.0并在一个抛出可怕The specified path, file name, or both are too long错误的软件包上试了一下.
问题消失了.
你可以从这里获得最新的npm版本:npm发行版
Mar*_*son 20
Windows 8.1和10有一个增加Win32路径限制的选项:
Amo*_*rni 12
这是一种解决方案.
有一些节点模块可以为您平衡依赖关系.
链接在这里:
这些模块正在做什么也可以手动完成.这是迄今为止唯一存在的真正解决方案,即将所有模块放在一个单独的级别,需要彼此,而不是所有模块都具有深度嵌套的依赖项的私有副本.
| 归档时间: |
|
| 查看次数: |
39623 次 |
| 最近记录: |