Egy TechNet blogbejegyzés elolvasása után gondoltam megnézem egyáltalán mi elérhető az alaptelepítésben, így a bejegyzésben is említett PSReadline csomagra kerestem rá, ami nem várt eredményt adott:
PS C:\> Find-Package PSReadline
WARNING: Unable to find package provider 'NuGet'.
WARNING: The specified PackageManagement provider 'NuGet' is not available.
Find-Package : No match was found for the specified search criteria and package name 'PSReadline'.
At line:1 char:1
+ Find-Package PSReadline
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power...ets.FindPackage:FindPackage) [Find-Package], Exception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Ez két okból is érdekes, egyrészt se a providerek, se a source-ök között nem láttam listázva a NuGet-et:
PS C:\> Get-PackageProvider
Name Version DynamicOptions
---- ------- --------------
Programs 10.0.10240.16384 {IncludeWindowsInstaller, IncludeSystemComponent}
msu 10.0.10240.16384 {}
msi 10.0.10240.16384 {AdditionalArguments}
PSModule 1.0.0.0 {PackageManagementProvider, Location, InstallUpdate, InstallationPolicy...}
PS C:\> Get-PackageSource
Name ProviderName IsTrusted IsRegistered IsValidated Location
---- ------------ --------- ------------ ----------- --------
PSGallery PSModule False True False https://www.powershellgallery.com/api/v2/
Másrészt egy warning még nem ok arra, hogy a PSGalleryből elérhető csomag keresése is meghiúsuljon.
Az interneten persze semmi találat nem volt a warningra, más keresések meg túl általánosra sikerültek, nem vittek közelebb a megoldáshoz.
Egy hirtelen ötlettől vezérelve kiadtam az alábbi parancsot:
PS C:\> Find-Package
The provider 'nuget v2.8.5.127' is not installed.
nuget may be manually downloaded from https://oneget.org/nuget-anycpu-2.8.5.127.exe and installed.
Would you like PackageManagement to automatically download and install 'nuget' now?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
Name Version Source Summary
---- ------- ------ -------
xFirefox 1.0.0 https://www.p...
PSReadline 1.0.0.13 https://www.p...
...
Érdekes, így meg felajánlotta, hogy letölti a hiányzó providert, és már meg is találta a PSGallery csomagjait. Arra tippelek, hogy a szintén telepített Visual Studio 2015 Community Edition-nel érkező NuGet beregisztrálta valahová magát, amiből a PackageManagement is dolgozik, csak nem volt teljes a konfiguráció.
Persze ez így még elég sovány, jó lenne feltelepíteni pár igazi programot. (A PSGallery leginkább PowerShell cmdleteket és egyéb resourceokat tartalmaz, a NuGet pedig development libraryket.) Mi sem egyszerűbb, már ismerem a trükköt*:
PS C:\> Find-Package -ProviderName Chocolatey 7zip
The provider 'chocolatey v2.8.5.130' is not installed.
chocolatey may be manually downloaded from https://oneget.org/ChocolateyPrototype-2.8.5.130.exe and installed.
Would you like PackageManagement to automatically download and install 'chocolatey' now?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
Name Version Source Summary
---- ------- ------ -------
7zip 9.38 chocolatey 7-Zip is a file archiver with a high compression ratio.
*: Ami annyiból áll, hogy ha bármelyik PackageManagement cmdlet ismeretlen providerrel találkozik, megpróbálja megkeresni, és ha megtalálja, automatikusan fel is ajánlja a telepítését.
Nálam valamiért a Windows 10 upgrade visszaállította az execution policyt Restrictedre, a Chocolatey viszont így nem működik megfelelően, ezért ki kellett adnom egy
Set-ExecutionPolicy RemoteSigned
parancsot. Így már minden akadály elhárult:
PS C:\> Install-Package -ProviderName Chocolatey -Name 7zip
The package(s) come from a package source that is not marked as trusted.
Are you sure you want to install software from 'chocolatey'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y
The package(s) come from a package source that is not marked as trusted.
Are you sure you want to install software from 'C:\Users\Bat\AppData\Local\Temp\chocolatey\7zip.install\7zip.installinstall.msi'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): y
Name Version Source Summary
---- ------- ------ -------
7zip.install 9.38 chocolatey 7-Zip is a file archiver with a high compression ratio.
7zip 9.38 chocolatey 7-Zip is a file archiver with a high compression ratio.
Természetesen működik is, illetve ezután már a telepített programok listájában is megjelenik:
PS C:\> Get-Package 7zip
Name Version Source Summary
---- ------- ------ -------
7zip 9.38 C:\Chocolatey... 7-Zip is a file archiver with a high compression ratio.
7zip.install 9.38 C:\Chocolatey... 7-Zip is a file archiver with a high compression ratio.
Kíváncsiságból megnéztem az uninstallt is, az ugyan lefut, de a programot ténylegesen nem távolítja el. Amit még nem tudok, hogy a frissítés hogyan megy, tippre újra le kell futtatni az Install-Package-et. Ha így van, az összes program frissítése sem sokkal bonyolultabb, csak össze kell pipeolni a Get-Package-dzsel. :)
- BaT blogja
- A hozzászóláshoz be kell jelentkezni
- 1718 megtekintés
Hozzászólások
Egy masik cikk, plusz kep a felepitesrol ha valaki kivancsi ra esetleg: http://www.hanselman.com/blog/AptGetForWindowsOneGetAndChocolateyOnWindows10.aspx
- A hozzászóláshoz be kell jelentkezni
Egyebkent csak szerintem indul gyorsabban a powershell W10 alatt, vagy mas is tapasztalt hasonlot?
- A hozzászóláshoz be kell jelentkezni
Hát nem egy pacman(vagy egy random linux csomagkezelő).....
- A hozzászóláshoz be kell jelentkezni
Miért, mi az amit a pacman tud, ez nem, és windowson haszna is lenne?
Cserébe ez a megoldás bármilyen providerrel együtt tud működni, pl. out of the box kezeli az msi csomagokat, windows update csomagokat és a hagyományosan telepített programokat.
- A hozzászóláshoz be kell jelentkezni
Pl. tenylegesen eltavolit dolgokat, nem csak ugy mondja... :-)
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Az a chocolatey provider hibája lehet, esetleg a tényleges csomagé. Tudjuk be annak, hogy ez egy új dolog, még vannak hibái.
- A hozzászóláshoz be kell jelentkezni
Ezert volt smiley a vegen... :-)
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Érdemes vele foglalkozni akkor vagy sem?
- A hozzászóláshoz be kell jelentkezni
Mivel? Maga a technológia adott, az, hogy az egyik package provider bugos, még nem teszi használhatatlanná az egészet.
- A hozzászóláshoz be kell jelentkezni
Yum-ot ismerem csak, ott bármilyen külső repot felvehetsz, a yum install akarmi.rpm pedig úgy telepít, hogy a függőségeket is felrakja közben. A yum remove úgy távolít el csomagot, hogy a csak vele kapcsolatosakat is leszedi.
Telepíthető egyszerre vele az operációs rendszer frissítése, és a programok újabb verziói.
Van hozzá egy pár kattingatós felület is, akinek ez a vágya.
Nem utolsó sorban csak akkor csinál valamit ha ÉN AKAROM.
És mindez kb. már 10 éve.
- A hozzászóláshoz be kell jelentkezni
azért a yum + random repo párosítás is képes csodákra.. Broken depends, conflicts, stb. :)
- A hozzászóláshoz be kell jelentkezni
Ez nagy igazság. Vigyázni kell a külső csomagszállítókkal, egyszerre többfélét (azonos területről) nem célszerű alkalmazni.
Windows-ban talán majd akkor lesz ilyen gond, ha egyes programoknak lesz MS tárolóban (régebbi) és a gyártónál (frissebb) verziója.
Ami még eszembe jutott, kevés esetben kell olyan telepítő linux alá ami win alatt megszokott. Next-Next-Next-Express(meglepi)/Custom-Hova települjőn-Next-Next-Next-Tegyen ikont-Indítsa el-Finish
- A hozzászóláshoz be kell jelentkezni
na ja :) yum install foobar (Y) (next/finish) :)
és hogy foobar hova települt, ahova a packager gondolta hogy jó helyen lesz. :)
Na jó, nagy általánosságban a /usr alá, ami Winen mondjuk megfelelhet egy Program Files -nak. Eltekintve attól, hogy a libek linuxon is /usr/lib* alá kerülnek, Winen adott esetben Windows\System* foo. Bár nem minden esetben.
- A hozzászóláshoz be kell jelentkezni
Mondjuk előtte le tudod ellenőrizni, hogy hová is másolja be magát ha nagyon akarod...
Egy .exe telepítőnél ez elég macerás tud lenni ...
- A hozzászóláshoz be kell jelentkezni
"Winen adott esetben Windows\System* foo"
Szeretném megjegyezni, hogy időközben átléptünk a harmadik évezredbe. Ha valamely program írója feltétlen oda akar elhelyezni valamit, az az esetek 99,9%-ában faszkorbáccsal honorálandó.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
- A hozzászóláshoz be kell jelentkezni
Itt nem repókat hanem providereket vehetsz fel, más az absztrakció de azért hasonló célt szolgál. Függőségkezelés szintén a provider feladata, de megoldható. Mivel van Windows update provider, a frissítések kezelésére itt is van valamilyen lehetőség. Gui meg eddig is volt, itt a powershell interfész az újdonság.
- A hozzászóláshoz be kell jelentkezni
Cserébe akkor előtte lekutyázták a apt-t ugyanígy :)
- A hozzászóláshoz be kell jelentkezni
Elobb feltalaljak a "parancssort" azthiszem "core" valami.
Most a package managementet "apt, yum, whatever", mi lesz a kovetkezo az X ? :D
http://karikasostor.hu - Az autentikus zajforrás.
- A hozzászóláshoz be kell jelentkezni
Nem core valami, hanem PowerShell. Es bizony elorelepes a text-alapu csodas UNIX-hoz kepest.
- A hozzászóláshoz be kell jelentkezni
Emberunk a Server Core-ra gondolt IMHO.
Amugy meg, a fene tudja. Neha a PowerShelles parancsok iszonyatos modon lassuak, elobb szednem ossze Linux alatt a megfelelo infokat, mire o kiad egy darab kimenetet, raadasul az output rendszerint nincs dokumentalva, csak a bemenet.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni