npm安装在Vagrant框中

我有一个相当香草的Vagrant盒子configuration使用Puphpet与节点安装。

但是,当我ssh进入框,并尝试npm install我似乎有一堆的权限问题。

即使与sudo运行似乎并不奏效

跑进去

 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"] 

有任何想法吗?

所以原来这是一个错误的Puphpetconfiguration像这样https://github.com/puphpet/puphpet/issues/1378

修正可以在https://github.com/puphpet/puphpet/pull/1403find – 只需要replace我的stream浪文件中的片段,我们很甜蜜。 我现在可以安装npm,捆绑安装等

你使用的是Windows吗? 您不仅需要自定义虚拟机,还需要在提升权限的同时启动虚拟机(即以pipe理员身份运行)。 总的来说,这是一个复杂的混乱。

如果我正在使用我的共享文件夹(如npm)中需要符号链接的东西,我已经开始使用rsync文件夹 。 使用rsync /vagrant文件夹不再是Virtual Box共享文件夹,并且不存在表示符号链接的问题。 作为一个额外的好处,它也是更快。