Virtualboxはセキュリティ上の理由から、共有フォルダにシンボリックリンクを許可していない
問題点
- WindowsのPath長制限(260文字)に引っかかっている
- Virtualboxではセキュリティの関係、共有フォルダにsymlinkを張れない
- Windowsがsymlinkをサポートしていない
解決策
単純な解決
共有フォルダ以外で作業をする!
共通の解決策
symlinkを張らないようにオプションを設定する
例えばnpm install
なら--no-bin-links
フラグを指定することによって、symlinkを生成しないという解決策がある
$ npm install --no-bin-links
ホストがWindows以外の解決策
シンボリックリンクを有効にするには、Vagrantfile
のconfig.vm.providerブロックに次の行を追加する必要がある
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
ホストがWindowsの場合
ホストOSがWindowsの場合、共有フォルダにsymlinkを張ることはできない
何故ならWindowsがsymlinkをサポートしていないためである
そしてpath長が260文字以内であるため、それを超えるpathはエラーになる
この場合の解決策としては共有フォルダ以外で作業をすること以外に解決策はないものと考える