Windows & Vagrant node modules folder hierarki
Menghadapi masalah yang aneh ketika seorang rekan yang menggunakan ubuntu precise via vagrant di host microsoft windows 7 tidak bisa menjalankan task imagemin
via grunt dengan message spawn ENOENT error, direktori applikasi dishare dari direktori windows dengan mode nfs
, setelah debugging ternyata jpegtran-bin
tidak terinstall sempurna karena ketika proses installasi menghasilkan EPERM error dan disarankan mengulangi lagi proses installasi menggunakan user dengan privileges root :-o aneh.
OK gampang, no problemo, lets try, setelahnya ubah lagi ownership ke vagrant user.
sudo npm install jpegtran-bin --save-dev
boom! hasilnya sama, EPERM error ketika installasi mau menulis file berikut:
/var/www/xxx_app/vendor/xxx/website/node_modules/jpegtran-bin/node_modules/bin-wrapper/node_modules/download/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js
Oops! even user with root privilege cannot write the file, that file should be protected by massive evil spirits. Setelah mencoba menulis file tersebut secara manual via terminal with no luck, akhirnya mencoba menulisnya secara langsung via host machine (windows), Yay! berhasil, except namanya kepotong, dan windows benar-benar tidak meresponse keyboard press malah berisik centung, centung :-)
Finally my day saved by google (again) ternyata limitasi character length di windows dihitung berdasarkan absolute path dari file, bukan filename itself, dalam contoh kasus disini, limitasi length adalah 259 characters.
D:\xxxxxxxx\xxx_app\vendor\xxx\website\node_modules\jpegtran-bin\node_modules\bin-wrapper\node_modules\download\node_modules\request\node_modules\form-data\node_modules\combined-stream\node_modules\delayed-stream\test\integration\test-delayed-stream-auto-p.js
Good to see you fade away windows.