2015-02-27 4 views
4

У меня есть довольно ванильный бродячий ящик, настроенный с использованием Puphpet с установленным узлом.npm install in Vagrant box

Однако, когда я ssh в поле и попробую npm install У меня, кажется, есть множество проблем с разрешениями.

Даже работает с Судом, кажется, не работает

Запуск в

npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-autoprefixer/2.1.0/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-concat/2.5.2/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-livereload/3.8.0/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/path/0.11.14/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-notify/2.2.0/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-compass/2.0.3/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-minify-css/0.4.6/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-plumber/0.6.6/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-rename/1.2.0/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp/3.8.11/package.tgz 
npm ERR! tar.unpack untar error /home/vagrant/.npm/gulp-uglify/1.1.0/package.tgz 
npm ERR! Linux 3.13.0-32-generic 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" 
npm ERR! node v0.12.0 
npm ERR! npm v2.5.1 
npm ERR! path /var/www/node_modules/gulp-autoprefixer/package.json 
npm ERR! code EPERM 
npm ERR! errno -1 

npm ERR! Error: EPERM, chown '/var/www/node_modules/gulp-autoprefixer/package.json' 
npm ERR!  at Error (native) 
npm ERR! { [Error: EPERM, chown '/var/www/node_modules/gulp-autoprefixer/package.json'] 
npm ERR! errno: -1, 
npm ERR! code: 'EPERM', 
npm ERR! path: '/var/www/node_modules/gulp-autoprefixer/package.json', 
npm ERR! fstream_finish_call: 'chown', 
npm ERR! fstream_type: 'File', 
npm ERR! fstream_path: '/var/www/node_modules/gulp-autoprefixer/package.json', 
npm ERR! fstream_class: 'FileWriter', 
npm ERR! fstream_stack: 
npm ERR! [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/writer.js:308:19', 
npm ERR!  '/usr/local/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:143:7', 
npm ERR!  'FSReqWrap.oncomplete (evalmachine.<anonymous>:99:15)' ] } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /var/www/npm-debug.log 

Я прочитал о записи в общую папку и пытались добавить исправления в Vagrantfile, но без успеха

 virtualbox.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"] 

Любые идеи?

ответ

1

Так получается, это была ошибка с конфигой Puphpet как так https://github.com/puphpet/puphpet/issues/1378

Исправления можно найти в https://github.com/puphpet/puphpet/pull/1403 - просто пришлось заменить этот фрагмент кода в моем Vagrantfile и мы сладко. Теперь я могу установить npm, установить пакет и т. Д.

0

Вы используете Windows? Вам не нужно настраивать виртуальную машину, но вам также нужно запустить виртуальную машину, пока у вас есть повышенные права (например, «Запуск от имени администратора»). В целом, это сложный беспорядок.

Если я работаю над тем, что требует символических ссылок в моей общей папке (например, npm), я начал использовать rsync folders. С помощью rsync папка /vagrant больше не является общей папкой Virtual Box и не имеет проблем с символическими ссылками. В качестве дополнительной выгоды это также быстрее.

+1

Я не, я использую NFS на Mac, как рекомендовано, потому что это более впечатляет, я верю. –

+0

Из всех вариантов rsync будет самым быстрым. К сожалению, я не могу помочь с Mac! –

+0

Я дам, что вихрь, нам нужен этот ящик для пользователя Windows в любом случае, хотя у нас есть еще одна проблема с ними прямо сейчас. –