fis-plus
fis-plus copied to clipboard
Windows7 下转移 fis-plus 模块时遇到的一个坑
我的 NPM 的 prefix 路径原来是:
C:\Users\XXXXXXXX\AppData\Roaming\npm\
安装 fisp 也到了这个路径下,可正常使用。
将 prefix 修改为:
"D:\\Program Files (x86)\\nodejs"
然后将 fisp 移到其下,预期的路径是:
D:\Program Files (x86)\nodejs\node_modules\fis-plus\
转移过程中出现问题,Windows弹框报错:文件名对目录文件夹可能过长。
发现原因是由于:
C:\Users\XXXXXXXX\AppData\Roaming\npm\node_modules\fis-plus\node_modules\fis\node_modules\fis-command-install\node_modules\fis-scaffold-kernel\node_modules\fis-repo-client\node_modules\form-data\node_modules\combined-stream\node_modules\delayed-stream\lib\delayed_stream.js
这个文件移动到新的 prefix 路径下,路径字符过长了,超过了 windows 的 260 个字符的限制。 查看新目录:
D:\Program Files (x86)\nodejs\node_modules\fis-plus\node_modules\fis\node_modules\fis-command-install\node_modules\fis-scaffold-kernel\node_modules\fis-repo-client\node_modules\form-data\node_modules\combined-stream\node_modules\delayed-stream\lib
发现其下的文件 delayed_stream.js 并没有如约移动过来。
(Tips:以上问题只是在转移 fisp 时暴露,不算是 fisp 的问题,算是 Node.js 的机制问题[ https://github.com/joyent/node/issues/6960 ],但可以考虑避免这种情况发生)
非常感谢你的反馈