通过node.js的npm安装gulp打破窗口

Lov*_*ess 3 node.js npm gulp

我想在我的Windows机器上使用gulp,它实际上工作得很好,除非我尝试使用创建的文件(如推送到github或删除).然后它就会中断,因为文件路径太长而且似乎是一个相当普遍的问题.https://github.com/joyent/node/issues/6960#issuecomment-45569604

我知道问题是通过npm的嵌套目录产生的,这些目录扩展了Windows目录的最大字符数,但据我所知,还没有任何解决方案.

我现在看到它有三个选择:

  1. 尝试通过将默认值从"node_modules"更改为"n_m"来减少npm目录的字符,并希望问题不会被推迟.喜欢这里建议:https: //github.com/joyent/node/issues/6960#issuecomment-45569604

那么这是我的问题,我究竟如何更改默认的'node_modules'目录名?

  1. 将我的开发环境改为Ubuntu,坦白说这是我不喜欢的解决方案,因为我从未使用过Ubuntu.

  2. 停止使用gulp整体.

那么,如何更改通过npm创建的默认"node_modules"目录或您实际建议的解决方案?

Nic*_*ick 10

还有一个棘手的选择.

主要问题是gulp有很多嵌套依赖项,它创建了很长的嵌套文件路径.

但是如果您在主node_modules目录中安装gulp所需的一些npm模块,gulp将不会将它们下载为嵌套.

目前你有类似的东西(这可能不是你的真实路径,但想法是一样的):

\node_modules\gulp\node_modules\lodash.bind\node_modules\lodash._createwrapper...
Run Code Online (Sandbox Code Playgroud)

如果你将"lodash.bind"模块添加到项目的package.json作为依赖项,它将与gulp一起安装在一个级别而不是gulp的依赖项

\node_modules\gulp
\node_modules\lodash.bind\node_modules\lodash._createwrapper
Run Code Online (Sandbox Code Playgroud)

这将缩短所有网址.你需要修复一个或两个最长的路径,它会工作.在我的项目中,添加这些依赖项就足够了:"lodash.createcallback"和"lodash.bind"到package.json来修复所有内容.

请记住,为此,您可能需要清除当前的node_modules文件夹.如果您无法执行此操作,因为关闭太长的URL,您可以创建到临时短文件路径的符号链接并将其删除.