Ich versuche, Dev-Umgebung auf Vagrantbox Setup.
Meine Host-Umgebung ist:So beheben Sie Fehler mit globalen Grunt-Installation über Npm auf Vagrant Box
- windows 7
- Vagrant Version 1.8.1
- Vbox Version 5.0.20r106931
Hier ist meine Vagrant-Datei:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "hashicorp/precise64"
config.vm.hostname = "frontend"
config.vm.provision "shell", path: "provision.sh"
config.vm.provider "virtualbox" do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the amount of memory on the VM:
vb.memory = "4096"
vb.cpus = "2"
end
end
und hier ist meine vagrant Bereitstellungsdatei:
apt-get -y update
apt-get -y install curl
apt-get -y install git
apt-get -y install nodejs
apt-get -y install npm
apt-get -y install python-pip
Nach dem Booten bis Vagabund und ssh-ing hinein Befehl folgende fehlschlägt:
sudo npm install -g grunt
und hier ist Fehlerprotokoll von NPM-Datei debug.log:
info it worked if it ends with ok
verbose cli [ 'node', '/usr/bin/npm', 'install', '-g', 'grunt' ]
info using [email protected]
info using [email protected]
verbose config file /home/vagrant/.npmrc
verbose config file /usr/etc/npmrc
verbose config file /usr/share/npm/npmrc
silly exec /usr/bin/node "/usr/share/npm/bin/npm-get-uid-gid.js" "nobody" 1000
silly spawning [ '/usr/bin/node',
silly spawning [ '/usr/share/npm/bin/npm-get-uid-gid.js', 'nobody', 1000 ],
silly spawning null ]
silly output from getuid/gid {"uid":65534,"gid":1000}
silly output from getuid/gid
verbose cache add [ 'grunt', null ]
silly cache add: name, spec, args [ undefined, 'grunt', [ 'grunt', null ] ]
verbose parsed url { pathname: 'grunt', path: 'grunt', href: 'grunt' }
verbose addNamed [ 'grunt', '' ]
verbose addNamed [ null, '' ]
silly name, range, hasData [ 'grunt', '', false ]
verbose raw, before any munging grunt
verbose url resolving [ 'https://registry.npmjs.org/', './grunt' ]
verbose url resolved https://registry.npmjs.org/grunt
http GET https://registry.npmjs.org/grunt
ERR! Error: failed to fetch from registry: grunt
ERR! at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12
ERR! at cb (/usr/share/npm/lib/utils/npm-registry-client/request.js:31:9)
ERR! at Request._callback (/usr/share/npm/lib/utils/npm-registry-client/request.js:136:18)
ERR! at Request.callback (/usr/lib/nodejs/request/main.js:119:22)
ERR! at Request.<anonymous> (/usr/lib/nodejs/request/main.js:212:58)
ERR! at Request.emit (events.js:88:20)
ERR! at ClientRequest.<anonymous> (/usr/lib/nodejs/request/main.js:412:12)
ERR! at ClientRequest.emit (events.js:67:17)
ERR! at HTTPParser.onIncoming (http.js:1261:11)
ERR! at HTTPParser.onHeadersComplete (http.js:102:31)
ERR! You may report this log at:
ERR! <http://bugs.debian.org/npm>
ERR! or use
ERR! reportbug --attach /vagrant/code/npm-debug.log npm
ERR!
ERR! System Linux 3.2.0-23-generic
ERR! command "node" "/usr/bin/npm" "install" "-g" "grunt"
ERR! cwd /vagrant/code
ERR! node -v v0.6.12
ERR! npm -v 1.1.4
ERR! message failed to fetch from registry: grunt
verbose exit [ 1, true ]
Dies hat das Problem nicht gelöst. Das hilft mir, das neueste ubuntu zu verwenden, aber der Fehler besteht immer noch. Die echte Lösung ist auf diesem Link: https://github.com/npm/npm/issues/7308 – gandra404
Ich werde erneut überprüfen, ob schließlich Berechtigungen ein Problem mit dieser Lösung später war. Wenn ich arbeite, werde ich diese Antwort laccpet, wenn nicht, werde ich eine andere Antwort geben (schon funktioniert). Wie auch immer, ich werde ältere Version von Vagrant verwenden, weil xenial einige Probleme für meine dev env .. auferlegen. Http://stackoverflow.com/questions/37283269/how-i-can-get-vagrant-folder-on-ubuntu -xenial64 – gandra404
möglicherweise Problem mit Symlink etc ... aber stil grunt [erfordert stabile Node.js Version> = 0.8.0] (http://gruntjs.com/getting-started) _ Odd Versionsnummern von Node.js sind als instabile Entwicklungsversionen angesehen werden. Dies könnte zu einer fehlerhaften Installation führen –