Chocolatey: Windows alatka za komandnu liniju za upravljanje softverom sa 8.2k+ GitHub zvezdica, neverovatno dobra!
Sijao Er je novi stažista u kompaniji, ranije je tokom intervjua odgovarao brzo i tečno, tako da sam ga jako cenio. Prvog dana sam mu dao novi računar i tražio mu da prvo lokalno postavi Java razvojno okruženje.
Bez mnogo reči, on je počeo da radi neprestano. Nisam mogao da verujem da je instalirao JDK preko komandne linije, jednom komandom je završio! Čak nije moralo da se konfigurišu okolinske promenljive, što je daleko prevazišlo moja očekivanja.
Mislio sam da će naivno da radi "sledeći, sledeći" kako bi instalirao JDK, ovako.

Zatim ovako konfiguriše okolinske promenljive.

Ali on je ovako, samo jedna linija komande, okolinske promenljive nije potrebno konfigurisati!

Bre! Sjajno i sofisticirano!
Gledajući njegovo vešto instaliranje JDK-a preko komandne linije, rog uglovi mi počeo da se blago podiže, zaista dobro! Konačno sam angažovao pouzdanu osobu.
Zato sam mu zadao da napravi zapisnik, planirajući da objavim na mojoj maloj stranici "Erge-n put do naprednog Java-a". Od njega sam saznao da alat za upravljanje softverom preko komandne linije koji koristi zove chocolatey, što je menadžer softvera preko komandne linije za Windows, već ima 8.2k+ zvezdica na GitHub-u, može praktično da omogući programerima da instaliraju softver na Linux-u koristeći yum komandu ili na macOS-u koristeći brew komandu, vrlo je fascinantno.

Evo njegovog zapisnika, zajedno da uživamo.
Prvo upoznamo shell
Za Java backend programera, u početnoj fazi, možeš birati da direktno kompajliraš i izvršavaš Java kôd u IDE-u, ali ponekad treba i da kompajliraš i izvršavaš Java kôd u Shell-u.
Windows-ov inherent Shell se zove Command Prompt ili cmd ili powershell, macOS-ov se zove terminal.
Kada treba da deployed-uješ Java projekat u proizvodnom okruženju ili da pregledaš logove, neizbežno ćeš koristiti Shell, u ovoj fazi učestalost korišćenja Shell-a je toliko visoka da se može opisati sa jednom frazom - stalni pratilac.
Neki third-party softveri nude moćnije funkcije na osnovu inherent Shell-a, česti su tabby, Warp, xhsell, FinalShell, MobaXterm, Aechoterm, WindTerm, termius, iterm2 i tako dalje, neki samo na Windows-u, neki samo na macOS-u, neki podržavaju sve platforme. Takođe postoje alatki kao ohmyzsh za ukrašavanje Shell-a.
Ovde navodimo neke osnovne komande Shell-a (Windows i macOS/Linux imaju male razlike):
- Prebacivanje direktorijuma, možeš koristiti cd komandu da prebacuješ direktorijume,
cd ..vraća se u gornji direktorijum.

Lista direktorijuma, na macos/linux-u možeš koristiti ls komandu da izlistaš sve fajlove i poddirektorijume u direktorijumu (na Windows-u koristi dir komandu), koristi joker
*da filtriraš sadržaj, na primerls *.javaizlistava sve fajlove sa.javaekstenzijom, ako hoćeš da ideš dalje, možeš koristitils H*.javada izlistaš sve fajlove koji počinju sa H i imaju.javaekstenziju.Kreiranje novog direktorijuma, na macOS/Linux-u možeš koristiti mkdir komandu da kreiraš novi direktorijum (na primer
mkdir hellokreira hello direktorijum), na Windows-u možeš koristiti md komandu.Brisanje fajla, na macOS/Linux-u možeš koristiti
rmkomandu da obrišeš fajl (na primerrm hello.javabriše hello.java fajl), na Windows-u možeš koristiti del komandu.Brisanje direktorijuma, na macOS/Linux-u možeš koristiti
rm -rkomandu da obrišeš direktorijum i sve fajlove u njemu (na primerrm -r hellobriše hello direktorijum). Na Windows-u možeš koristiti rmdir komandu.Ponavljanje komande, na macOS/Linux/Windows-u možeš koristiti gornje i donje strelice da bireš prethodno izvršene komande.

- Istorija komandi, na macOS/Linux-u možeš koristiti
historykomandu da vidiš sve korišćene komande. Na Windows-u možeš pritisnuti F7 taster.

- Raspakivanje fajla, fajl sa ekstenzijom ".zip" je kompresovani paket koji sadrži druge fajlove, macOS/Linux sistem sam nudi unzip komandu za raspakivanje, Windows zahteva ručnu instalaciju.
Zatim upoznamo chocolatey
Prvo instaliraj chocolatey. Ovo je menadžer softvera preko komandne linije za Windows, može praktično da omogući programerima da instaliraju softver na Linux-u koristeći yum komandu ili na macOS-u koristeći brew komandu, vrlo je fascinantno.
The biggest challenge is reducing duplication of effort, so users turn to Chocolatey for simplicity
Tradicionalni način instalacije je ili veoma spor ili veoma neefikasan, instalacija softvera preko komandne linije je ne samo jednostavna i efikasna, već i automatski može da nam pomogne da konfigurišemo okolinske promenljive.
- Zvanična adresa: https://chocolatey.org/
- Instalaciona dokumentacija: https://chocolatey.org/install#individual
Prvi korak, otvori cmd komandnu liniju kao administrator.

Drugi korak, izvrši sledeću komandu:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))Sačekaj malo i instalacija će biti završena.
Nakon instalacije izgleda ovako:

Ako nisi siguran da li je instalacija uspela, možeš potvrditi unošenjem choco komande.

Ovde preporučujem nekoliko vrlo efikasnih komandi:
- choco search xxx, pronađi xxx instalacioni paket
- choco info xxx, prikaži informacije o xxx instalacionom paketu
- choco install xxx, instaliraj xxx softver
- choco upgrade xxx, ažuriraj xxx softver
- choco uninstall xxx, deinstaliraj xxx softver
Kako znati koji instalacioni paketi su dostupni u chocolatey spremištu?
Možeš preko gore pomenutog načina komandne linije, takođe možeš posetiti zvanično spremište da filtriraš.
Na primer, da potražimo Java.

Dobro, sada možeš direktno u shell-u uneti choco install jdk8 da instaliraš JDK8, i automatski će dodati Java u okolinske promenljive, ne treba ići u "Moj računar", "Okolinske promenljive" da kreiraš JAVA_HOME i kopiraš JDK instalacionu putanju da konfiguriraš PATH promenljivu, zar nije vrlo nice?
Sačekaj malo, unesi java -version možeš potvrditi da li je Java uspešno instalirana.

Moram priznati! Vrlo nice!
Još primer, instalacija Redis-a, samo treba naći Redis instalacionu komandu u Choco-u i izvršiti i to je to.

Instalacija Git-a:
choco install git.installInstalacija node.js
choco install nodejs.installInstalacija 7zip-a
choco install 7zipInstalacija Filezilla-e
choco install filezillaSoftverskih paketa u Choco-u je vrlo mnogo, uglavnom svi česti instalacioni paketi u razvoju softvera postoje.

Zaključak
Kroz Sijao Er-ove praktične beleške možemo saznati.
U poređenju s preuzimanjem instalacionog paketa i instalacijom JDK-a preko grafičkog sučelja, zatim "sledeći, sledeći", da li se osećaš da je instalacija JDK-a u Shell-u malo više fascinantna?
Ključno je i da se izbeglo konfigurisanje okolinskih promenljivih.
Još nisam izašao iz novačkog sela, često su me mučile konfiguracije okolinskih promenljivih. Ovaj način instalacije preko komandne linije je sto puta lakši od ručnog konfigurisanja okolinskih promenljivih, a i teže je napraviti grešku.
Kroz Choco možeš centralizovano instalirati, upravljati i ažurirati razne softvere. Posebno pogodno za upravljanje nekim lakim open source softverom, jedna komanda se završava, prilikom ažuriranja je takođe pogodno, ne treba ponovo preuzimati novi instalacioni paket, može efektivno izleči simptome primorane ažuriranje opsesivnih pacijenata.
Ako ne hoćeš posebno da podešavaš, Chocolatey-ova opšta operacija i korišćenje su prilično prijateljski. Čak i početnici koji su tek dodirnuli softverski razvoj mogu direktno da koriste, a prolaznici će misliti da si posebno vešt.
