Warum funktionieren die schokoladigen Installationsanweisungen nicht?

518
TheGrapeBeyond

Ich bemühe mich also sehr, den Anweisungen für die schokoladige Installation zu folgen, aber sie funktionieren nicht.

Auf ihrer Website sagen sie "Es ist so einfach zu installieren!" Und "einfach eine Power-Shell öffnen" und diesen Befehl ausführen:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin 

Ich bekomme jedoch: Warum funktionieren die schokoladigen Installationsanweisungen nicht?

2
Die Anweisungen besagen, dass der Befehl in ein COMMAND PROMPT eingefügt werden sollte, nicht in ein Powershell-Fenster. David Marshall vor 9 Jahren 1
Wie @DavidMarshall darauf hinweist, führen Sie das von PowerShell aus (daher die Aufforderung "PS" vor C:), und führen Sie es von einer leeren, nicht-PS-Befehlszeile aus. Ƭᴇcʜιᴇ007 vor 9 Jahren 0
@DavidMarshall Ich denke, das hat es getan - ich wusste nicht, dass es einen Unterschied geben würde / sollte. Ich habe das ursprünglich in GitBash ausprobiert, aber es hat nicht funktioniert. Ich habe gerade eine Vanilla-Eingabeaufforderung geöffnet und (ich glaube), es hat funktioniert. Warum gibt es einen Unterschied? Aber danke ich denke es hat geklappt ... TheGrapeBeyond vor 9 Jahren 0
@ techie007 Danke das hat es geschafft! Ich nehme an, dass chocolatey NUR auf der Eingabeaufforderung von cmd ausgeführt werden kann und sonst nichts? (Wie GitBash etc?) Warum / wie sollte es einen Unterschied machen? Danke noch einmal!! TheGrapeBeyond vor 9 Jahren 0
Der von Ihnen verwendete Befehl startet Powershell von einer Eingabeaufforderung aus, richtet die korrekte Powershell-Umgebung ein, lädt chocolatey herunter und installiert sie. Der Befehl weiter unten kann direkt in Powershell eingegeben werden, um chocolatey herunterzuladen und zu installieren. Sie müssen jedoch sicherstellen, dass zuvor die korrekte Ausführungsrichtlinie festgelegt wurde. David Marshall vor 9 Jahren 0
"cmd.exe" und "powershell.exe" haben völlig unterschiedliche Parser. Die @ command-Syntax funktioniert nur in cmd.exe und ist nur in Skripts (.cmd / .bat) sinnvoll. Sie würde den Befehl ausführen, ohne ihn auf dem Bildschirm anzuzeigen. Deshalb ist dieser Befehl in 'powershell.exe' gänzlich fehlgeschlagen. BartekB vor 9 Jahren 0
@ BartekB danke Bartek! Und ich stelle mir ähnliches auch für GitBash vor? TheGrapeBeyond vor 9 Jahren 0
Mein bash-Wissen ist ein bisschen rostig, aber soweit ich weiß - die @ command-Syntax ist einzigartig für `cmd.exe` -, habe ich in keiner anderen Shell gesehen. BartekB vor 9 Jahren 0

1 Antwort auf die Frage

4
Julian Knight

Wie Sie den Kommentaren bereits entnehmen können, benötigen Sie eine auf der Chocolatey-Website angegebene Eingabeaufforderung :

Um Chocolatey jetzt zu installieren, öffnen Sie eine Eingabeaufforderung, fügen Sie den Text aus dem Feld unten ein und drücken Sie die Eingabetaste

cmdPowerShell und Bash verfügen über eine sehr unterschiedliche Syntax (Command (oder strikt bei neueren Windows-Versionen), haben aber in vielerlei Hinsicht ähnliche Ziele.

Chocolatey nicht verwenden Powershell, aber, wie andere in den Kommentaren gesagt haben, der anfängliche Kick-off ist von einer einfachen Eingabeaufforderung. Die Leistung von PowerShell wird dann von Chocolatey zur Automatisierung von Softwareinstallationen und -updates verwendet. Es ist ein ordentliches und leistungsfähiges Werkzeug, aber wie bei vielen Installationswerkzeugen kann veraltete Software allzu regelmäßig verwendet werden.

Ich mache davon jedoch viel Gebrauch, besonders in letzter Zeit, als ich schnell eine ganze Menge Entwicklungs-Laptops umbauen musste. Eine gute Möglichkeit, eine Vielzahl von Standardsoftware schnell und konsistent zu installieren und auf dem neuesten Stand zu halten.

Ich danke Ihnen lieber Herr! Könnten Sie bitte das, was Sie über die Unterschiede zwischen cmd / PS / Bash gesagt haben, erläutern? Ich dachte, sie waren alle gleich, wie in, tat dasselbe ... wenn sie eine etwas andere Syntax haben, warum haben sie dann alle? Ich verstehe nicht, warum es so viele verschiedene Arten von Befehlszeilenprogrammen gibt. Vielen Dank. TheGrapeBeyond vor 9 Jahren 0
Auf die Gefahr, für missbräuchliche Kommentare verraten zu werden! Die ursprüngliche Eingabeaufforderung stammt aus DOS-Tagen, wurde für Windows NT (cmd) verbessert, ist aber immer noch eine hübsche Hose! BASH und ähnliches stammen von UNIX und sind sehr leistungsfähige Befehlsumgebungen mit zahlreichen integrierten Werkzeugen und Funktionen. PowerShell ist die Antwort von MS auf BASH. Offiziell wird die .NET-Umgebung (Bibliotheken) von MS in einer Befehlsumgebung bereitgestellt. Wenn Sie ein Windows-GURU werden möchten, ist PowerShell heutzutage ziemlich wichtig und aus gutem Grund - enorm leistungsstark. Julian Knight vor 9 Jahren 0
PowerShell - Ich habe zum Beispiel einige Statistikfunktionen in PS geschrieben, um die E-Mails zu analysieren, die in Outlook ein- und ausgehen. Ich verwende es auch zur Verwaltung von Office 365 und SharePoint. Jede Umgebung hat also entweder bestimmte Verbesserungen oder ist im Allgemeinen eine Weiterentwicklung älterer Technologien, die aus Gründen der Abwärtskompatibilität beibehalten werden. BASH unter Windows ist generell von begrenztem Nutzen, obwohl ich einige Foto-Metadatenscripts ausgeführt habe. Tools wie GIT können plattformübergreifend sein, obwohl sie für UNIX entwickelt wurden. Julian Knight vor 9 Jahren 0
Ah ich sehe. Aus diesem Grund hat gitBASH ähnliche linux-y-Befehle, da es aus BASH (aus Linux) hervorgegangen ist ... interessant! :-) TheGrapeBeyond vor 9 Jahren 0
Genau. In CYGWIN finden Sie eine umfassendere POSIX-Umgebung (UNIXy) für Windows. Julian Knight vor 9 Jahren 0