我想在我的Windows机器上使用gulp,它实际上工作得很好,除非我尝试使用创建的文件(如推送到github或删除)。然后它就会中断,因为文件路径太长而且似乎是一个相当普遍的问题。 https://github.com/joyent/node/issues/6960#issuecomment-45569604
据我所知,问题出现在npm的嵌套目录中,这些目录扩展了Windows目录的最大字符数,但据我所知,还没有任何解决方案。
正如我现在所看到的,我有三个选择:
那么这是我的问题,我究竟如何更改默认的'node_modules'目录名?
将我的开发环境改为Ubuntu,坦白说这是我不喜欢的解决方案,因为我从未使用过Ubuntu。
停止使用gulp。
那么,如何更改通过npm创建的默认“node_modules”目录或者您实际建议的解决方案?
答案 0 :(得分:10)
还有一个棘手的选择。
主要问题是gulp有很多嵌套依赖项,它会创建很长的嵌套文件路径。
但是如果您在主node_modules目录中安装gulp所需的一些npm模块,gulp将不会将它们下载为嵌套。
目前你有类似的东西(这可能不是你的真实路径,但想法是一样的):
\node_modules\gulp\node_modules\lodash.bind\node_modules\lodash._createwrapper...
如果您将“lodash.bind”模块添加到项目的package.json中作为依赖项,它将与gulp一起安装在一个级别而不是gulp的依赖项
\node_modules\gulp
\node_modules\lodash.bind\node_modules\lodash._createwrapper
这将缩短所有网址。你需要修复一个或两个最长的路径,它会工作。 在我的项目中,添加这些依赖项就足够了:“lodash.createcallback”和“lodash.bind”到package.json来修复所有内容。
请记住,为此,您可能需要清除当前的node_modules文件夹。如果您无法做到这一点,因为关闭太长的网址,您可以创建symbolic link到临时短文件路径并删除它。