2014-10-28 5 views
1

Я обновил NPM до последней версии шаблона Homestead от Laravel для Vagrant. Я хотел установить Gulp в одном из своих каталогов, но при запуске «НОЙ установка» каталог с package.json я получил это:Laravel Homestead NPM Install Gulp no go

npm ERR! UNKNOWN, mkdir '/home/vagrant/Code/gulp/node_modules/gulp-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/node_modules/bin-wrapper/node_modules/bin-version-check/node_modules/bin-version/node_modules/find-versions' 
npm ERR! 
npm ERR! If you need help, you may report this error at: 
npm ERR!  <http://github.com/npm/npm/issues> 
npm ERR! Linux 3.13.0-30-generic 
npm ERR! argv "node" "/usr/bin/npm" "install" 
npm ERR! node v0.10.32 
npm ERR! npm v2.1.5 
npm ERR! path /home/vagrant/Code/gulp/node_modules/gulpimagemin/node_modules/imagemin/node_modules/imagemin-jpegtran/node_modules/jpegtranbin/node_modules/bin-wrapper/node_modules/bin-version-check/node_modules/bin-version/node_modules/find-versions 
npm ERR! code UNKNOWN 
npm ERR! errno -1 

Тысячи этих сообщений. Я работаю в Windows 7, Virtual Box.

+0

Похоже, что что-то пошло не так с установкой. Удалить узел и повторить попытку? – Laurence

ответ

0

Вы используете максимальную длину пути окон. Попробуйте установить глотку глобально npm install --global gulp

0

Для фактического решения этого, проверить this comment или продолжить чтение здесь:

config.vm.provider "virtualbox" do |v| 
    v.customize ["sharedfolder", "add", :id, "--name", "www", "--hostpath", (("//?/" + File.dirname(__FILE__) + "/www").gsub("/","\\"))] 
end 

config.vm.provision :shell, inline: "mkdir /home/vagrant/www" 
config.vm.provision :shell, inline: "mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` www /home/vagrant/www", run: "always" 

В приведенной выше коде, я добавление \\ \ к текущей директории абсолютному пути , Это фактически заставит Windows API разрешить увеличение переменной MAX_PATH (обычно закрывается до 260). Узнайте больше о max path. Это происходит во время создания общей папки, которое намеренно обрабатывается VBoxManage, а не методом «synced_folder» Вагранта. Последний бит довольно понятен; мы создаем новую общую папку, а затем удостоверяемся, что она монтируется каждый раз, когда к компьютеру обращаются или затрагиваются, так как Вагранту нравится перезагружать свои монтировки/общие папки при каждой загрузке.

Надеюсь, это поможет!