OSX中npm2的节点模块深度问题?

时间:2016-01-11 22:26:50

标签: node.js macos npm

将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之间的开发

1 个答案:

答案 0 :(得分:1)

NPM v3使用更平坦的目录结构:https://docs.npmjs.com/how-npm-works/npm3

  

当npm2以嵌套方式安装所有依赖项时,npm3会尝试缓解此类嵌套导致的深层树和冗余。 npm3通过以平面方式安装一些辅助依赖项(依赖项的依赖项)来尝试这一点,与需要它的主要依赖项位于同一目录中。

这可能是解决问题的最简单方法。

OSX seems to be 1016 characters上的实际最大路径长度,大约是Windows上的4倍。