vagrant和virtualbox无法创建软连接(failed to create symbolic link : Protocol error)
复制于 https://note.com/m_higa/n/n902624a7895a
Windows + Vagrant(VirtualBox)の共有フォルダにシンボリックリンクが作成できなくて困った
困った
Pythonで仮想環境(venv)を作成しようとしたらエラーがでた。
Protocol error: 'lib' -> '/vagrant_data/venv/lib64'
調べてみるとWindows + Vagrant(VirtualBox)の共有フォルダ上にシンボリックリンクを作成しようとしてエラーが発生したみたい。
共有フォルダの権限の問題を見直してみたり、管理者権限でVagrantを実行してみてもダメだったので、以下の方法を試してみたところうまくいきました。
対応した内容
1. ローカルポリシーの変更
Windowsキーを押して「secpol.msc」を入力
「セキュリティの設定」→「ローカルポリシー」→「ユーザ権利の割り当て」から「シンボリック リンクの作成」を選択して、ユーザを追加する
※管理者(Administrators)のみ登録されている状態なので、
PCにログインしているユーザを追加する
2. PCを再起動
再起動しないと状況が変わらなかったので、忘れずにすること!
3. Vagrantfileに下記を追記してVagrantを起動
config.vm.provider :virtualbox do |vb| vb.customize ["setextradata":id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/vagrant_data", "1"] end
共有文件夹为
/var/www/develop ==> var_www_develop
config.vm.provider "virtualbox" do |v| v.name = "se_20220217" v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/var_www_develop", "1"] end