📝
Vagrantの共有フォルダ上でSharpモジュールが使えないので諦めました…(ポエム)
Reactの静的サイトジェネレーターGatsbyに入門しております。
Gatsbyチュートリアルで画像リサイズモジュールSharpをプラグイン利用するんですが、Vagrantのubntuの共有フォルダではインストール失敗します。
詳細
Vagrantで上のUbuntuにて、
windows共有フォルダ内のプロジェクトでyarn add sharp
やると
下記のハードリンク作成処理でコケます。
ERR! sharp EPERM: operation not permitted, link '/home/username/workspace/node_modules/sharp/vendor/8.10.0/include/pnglibconf.h' -> '/home/username/workspace/node_modules/sharp/vendor/8.10.0/include/libpng16/pnglibconf.h'
調べたこと
- 非共有フォルダだと、
yarn add shap
で問題なくインストールできる -
--no-bin-links
意味無し - Vagrantはハードリンクに対応しないとのこと
- シンボリックリンクならvagrantfileで設定すれば有効だがそういう問題ではない
- Sharpモジュール公式Issueではdocker for windows使えとのこと
- 一時的に共有モード解いたらどうかなと思ったけど、ファイル実体がwindow側なので単にプロジェクト見えなくなるだけで意味がなかった…
- aliasでコマンド乗っ取ればいける?
alias link='ln -s'
だめでした。
終わり
どーしてもVSCodeで開発したい!
のでvagrant環境を卒業してwsl2環境構築します😇
(まーた色んな所でハマりそうだなあ…)
Discussion