Dieser Artikel stellt vor, wie man Chocolatey auf Windows 11 installiert und konfiguriert und wie man es verwendet. Wir installieren es über Powershell und testen schließlich, indem wir node.js auf Windows 11 installieren, um es nutzbar zu machen. Sie können auch andere Programmiersprachen und Entwicklungsumgebungen wie Python, git und Ruby sowie Bibliotheken installieren.
Installieren Sie Chocolatey auf Windows 11. Öffnen Sie Powershell mit Administratorrechten und führen Sie den folgenden Befehl aus. Um Powershell mit Administratorrechten zu öffnen, klicken Sie mit der rechten Maustaste auf das Powershell-Symbol in der Taskleiste, klicken Sie erneut mit der rechten Maustaste und wählen Sie “Als Administrator ausführen”.
> Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Wenn Folgendes angezeigt wird, wurde die Installation erfolgreich abgeschlossen.
“Chocolatey (choco.exe) is now ready”

Sie können überprüfen, ob die Installation erfolgreich war, indem Sie die Version ausgeben.
> choco --version
0.11.3
Führen Sie den refreshenv-Befehl aus.
> refreshenv
Refreshing environment variables from registry for cmd.exe. Please wait...Finished..
Zu diesem Zeitpunkt sind verschiedene Programmiersprachen, Entwicklungsumgebungen, Bibliotheken und Software, die mit choco verwendet werden können, nun installierbar.
Von hier an testen wir, indem wir node.js mit choco auf Windows 11 installieren.
Überprüfen Sie mit dem get-command-Befehl, dass node.js nicht installiert ist.
> Get-Command node
Get-Command : Der Begriff 'node' wird nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und versuchen Sie es erneut.
Installieren Sie die neueste Version von node.js mit dem folgenden Befehl.
> choco install nodejs -y
> choco install nodejs -y
Chocolatey v0.11.3
Installing the following packages:
nodejs
By installing, you accept licenses for the packages.
Progress: Downloading nodejs.install 17.0.1... 100%
Progress: Downloading nodejs 17.0.1... 100%
nodejs.install v17.0.1 [Approved]
nodejs.install package files install completed. Performing other installation steps.
Installing 64 bit version
Installing nodejs.install...
nodejs.install has been installed.
nodejs.install may be able to be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
The install of nodejs.install was successful.
Software installed as 'msi', install location is likely default.
nodejs v17.0.1 [Approved]
nodejs package files install completed. Performing other installation steps.
The install of nodejs was successful.
Software install location not explicitly set, it could be in package or
default install location of installer.
Chocolatey installed 2/2 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
> echo $?
True

Zu diesem Zeitpunkt ist die node.js-Installation abgeschlossen, aber beachten Sie, dass Sie den Befehl erst verwenden können, nachdem Sie die Konsole neu gestartet haben. Wenn Sie beispielsweise powershell.exe ausführen, schließen Sie dieses Fenster und öffnen Sie ein neues. Wenn Sie conemu verwenden, schließen Sie conemu und öffnen Sie es erneut. Oder das Öffnen einer neuen Instanz ist auch in Ordnung.
Überprüfen Sie auf der Befehlszeile der neuen Instanz-Konsole die node.js-Version mit dem folgenden Befehl.
> node -v
v17.0.1
Versuchen Sie Hello world mit node.js.
> node -e 'console.log(`"Hello World...`")'
Hello World...

Beachten Sie, dass der obige Befehl für die Ausführung in powershell gedacht ist. In WSL Bash oder cmd.exe sind die Escape-Sequenzen unterschiedlich, daher wird es wahrscheinlich einen Fehler geben. (Beispiel unten)
[eval]:1
console.log(Hello World...)
^^^^^
SyntaxError: missing ) after argument list