Windows Vagrantでgulp使おうとしたらnpm ERR! Error: ETXTBSY, unlinkなのでシンボリックリンクしないようにして解決


vagrant_npm_err_01
WindowsのVagrant環境上でgulpインストールして使おうとしたら「npm install パッケージ名」でエラーが起こる!コンソールを眺めてみると以下のようなエラーが最初に発生してる。
「npm ERR! error rolling back Error: ETXTBSY, unlink」ということはシンボリックリンクできないといっているのか?ということで調べてみた。

npm ERR! error rolling back Error: ETXTBSY, unlink '/vagrant/node_modules/gulp-plantuml/node_modules/gulputil/node_modules/dateformat/node_modules/meow/node_modules/normalize-package-data/test/scripts.js'

VirtualBox共有フォルダでシンボリックリンクが禁止

どうやらVagrantでsynced_folder設定したパス上ではシンボリックリンクできない。そこはホストOSのWindowsと共有フォルダになっており、Windowsがシンボリック禁止している!(※Windowsがシンボリックをサポートしていない?)
ということで共有フォルダ外でnpmプロジェクトを作るか、リンボリックリンクを張らない npm install をしなければならない。

--no-bin-links

自分はリンボリックリンクを張らない方法にした。以下のオプションを指定するだけ!

npm install --no-bin-links

これで無事インストールできました。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です