将node.js与基于Windows的项目一起使用时,建议您使用flatten-packages
之类的npm包来防止目录深度失控。这是因为Windows具有MAX_PATH限制:https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath
https://github.com/Microsoft/nodejstools/issues/69
在OSX中是否存在node_modules文件夹嵌套失控的潜在问题?这个问题更多的是关于在Node.js中对比Windows和OSX之间的开发
答案 0 :(得分:1)
NPM v3使用更平坦的目录结构:https://docs.npmjs.com/how-npm-works/npm3
当npm2以嵌套方式安装所有依赖项时,npm3会尝试缓解此类嵌套导致的深层树和冗余。 npm3通过以平面方式安装一些辅助依赖项(依赖项的依赖项)来尝试这一点,与需要它的主要依赖项位于同一目录中。
这可能是解决问题的最简单方法。
OSX seems to be 1016 characters上的实际最大路径长度,大约是Windows上的4倍。