2014-03-24 16 views
6

OSX 10.9.2:Wie installiere ich das Messer-ec2 Plugin?

$ ruby -v 
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13] 
$ knife -v 
Chef: 11.10.4 

Wenn ich laufen:

$ knife ec2 server list 

ich:

FATAL: Cannot find sub command for: 'ec2 server list' 
The ec2 commands were moved to plugins in Chef 0.10 
You can install the plugin with `(sudo) gem install knife-ec2 

Ich habe das Juwel installiert:

sudo gem install knife-ec2 

läuft ohne Fehler. Und gem Liste zeigt, dass es installiert ist:

$ sudo gem list|grep knife-ec2 
knife-ec2 (0.8.0) 

Der Edelstein erscheint richtig hier installiert werden:

ls /Library/Ruby/Gems/2.0.0/gems/knife-ec2-0.8.0/ 
... 

/usr/bin/Messer auf seine eigene Läufe in Ordnung. Es ist ziemlich wahrscheinlich, dass es etwas damit zu tun hat, wo Messer nach Plugins sucht, aber was man dagegen tun kann, ist unklar.

Antwort

1

Sie installieren Dinge in Ihrem System Ruby (was nicht ratsam ist). Sie müssen in diesem Fall sudo vor Ihrem knife Befehl verwenden.

3

Was ist die Ausgabe, wenn Sie versuchen, gem install knife zu laufen? gem verwendet verschiedene Pfade, wenn Sie es mit sudo

laufen können Sie entweder Messer mit sudo ausführen:

sudo knife ec2 server list 

oder Edelstein als aktueller Benutzer installieren:

gem install knife-ec2 

Wenn diese nicht funktioniert , verwenden RVM:

\curl -sSL https://get.rvm.io | bash 
rvm install 2.0.0p247 
gem install knife-ec2 
+0

Ich habe das gleiche Problem und versuchte sowohl Sudo und ohne Sudo für Edelstein und Messer und immer noch den gleichen Fehler. gem ohne sudo installiert kein plugin: ~/arbeitsbereich/chef-repo/bin: (master) $ gem install messer-ec2 Abrufen: knife-ec2-0.8.0.gem (100%) FEHLER: Beim Ausführen von Gem ... (Gem :: FilePermissionError) Sie haben keine Schreibberechtigungen für das Verzeichnis /Library/Ruby/Gems/2.0.0. – Lukasz

7

Ich hatte dies oder ein Simila r Problem, als ich den Chefdk installierte, nachdem ich bereits Koch/Messer/Messer-ec2 über Edelsteine ​​installiert hatte (in einem Versuch, vagrant-berkshelf arbeiten zu lassen, wenn Sie sich wundern).

Was ich fand ist, dass bei der Installation der Chefdk der eingebettete Chef Rubin von der Messer-Binärdatei in Ihrem Weg verwendet wird, anstelle des Systems Rubin, so müssen Sie Ihre Edelsteine ​​auf den Küchenchef Rubin installieren.

Auf OSX Ich habe es wie folgt aus:

/opt/chefdk/embedded/bin/gem install knife-ec2 

Edit: Sieht aus wie ein Befehl Koch ist dies bereits zu tun:

chef gem install knife-ec2 
+0

Cool, ich fand Juwel in folgenden Pfad,/opt/Koch/eingebettet/bin/Juwel installieren Messer-ec2 – Balkrishna

+0

Ich musste $ Sudo/opt/Koch/embedded/bin/Gem installieren Messer-ec2, um es zu installieren –

0

Ja, Das ist heikel ... Grund: Sie haben 2 GEM-Binärdateien in Ihrem System. Einer von "rubygems in/bin/gem" und ein anderer von chef in "/ opt/chef/eingebettet/bin/gem"

Knife nutzt die Edelstein-Binärdatei in der Installation des Kochs.

Lösung: So sollten Sie die Plugins als /opt/Koch/embedded/bin/gem install Messer-EC2 /opt/Koch/embedded/bin/gem install installiert haben

Enjoy :). ..