PackageManagement (aka OneGet) is a package manager for Windows
PackageManagement (aka OneGet) is a package manager for Windows
This module is currently not in development. We are no longer accepting any pull requests to this repository. OneGet is in a stable state and is expected to recieve only high-priority bug fixes from Microsoft in the future.
Alternatively, we would suggest looking at the community AnyPackage project as an actively developed replacement for OneGet.
If you have a question, or are seeing an unexpected behavior from this module please open up an issue in this repository.
The PowerShell/PowerShellGet repository is actively in development as the new PowerShell package manager.
| AppVeyor (Windows) | Travis CI (Linux / macOS) |
|---|---|
| AppVeyor (Windows) |
|---|
PackageManagement is supported in Windows, Linux and MacOS now. We periodically make binary drops to PowerShellCore, meaning PackageManagement is a part of PowerShell Core releases. Also PackageManagement and PowershellGet Modules are regularly updated in PowerShellGallery.com.
Thus check out the latest version from PowerShellGallery.com.
OneGet is shipped in Win10 and Windows Server 2016! For downlevel OS, you can install the WMF 5.1 and then start using the OneGet.
You can follow @PSOneGet on Twitter to be notified of every new build.
OneGet is a Windows package manager, renamed as PackageManagement. It is a unified interface to package management systems and aims to make Software Discovery, Installation, and Inventory (SDII) work via a common set of cmdlets (and eventually a set of APIs). Regardless of the installation technology underneath, users can use these common cmdlets to install/uninstall packages, add/remove/query package repositories, and query a system for the software installed.
With OneGet, you can
……You can run install-module PowerShellGet to install the latest PackageManagment and PowerShellGet from PowerShellGallery.
OneGet repo has a number of other repositories embeded as submodules. To make things easy, you can just clone recursively:
git clone --recursive https://github.com/OneGet/oneget.gitIf you already cloned but forgot to use --recursive, you can update submodules manually:
git submodule update --init# After cloning this repository, go to the project folder:
> cd oneget
> cd src
# download the dotnet cli tool
> .\bootstrap.ps1
# building OneGet for fullclr
> .\build.ps1 net452
#building OneGet for coreclr
> .\build.ps1 netstandard2.0If successfully built above, you should be able to see a folder:
oneget\src\out\PackageManagement\ whose layout looks like below:
coreclrfullclrPackageManagement.format.ps1xmlPackageManagement.psd1PackageManagement.psm1PackageProviderFunctions.psm1We can use publish-module to create a .nupkg. Assuming you want to put the generated .nupkg in c:\test folder. You can do something like below. Note I cloned to E:\OneGet folder.
cd E:\OneGet\oneget\src\out\PackageManagement
Register-PSRepository -name local -SourceLocation c:\test
Get-PSRepository
Publish-Module -path .\ -Repository local
PS E:\OneGet\oneget\src\out\PackageManagement> dir c:\test\PackageManagement*.nupkg
Directory: C:\test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 11/4/2016 4:15 PM 1626335 PackageManagement.1.1.0.0.nupkgThen you can do
find-module -Repository local
install-module -Repository local -Name PackageManagementto get the newly built PackageManagement on your machines.
You can also manually copy the OneGet binaries. For example, copy the entire E:\OneGet\oneget\src\out\PackageManagement folder you just built to your
$env:Programfiles\WindowsPowerShell\Modules\PackageManagement\#onegetversion\
If you are running within PowerShellCore,
similarily drop the PackageManagement folder to your $env:Programfiles\PowerShell\#psversion\Modules\PackageManagement\#onegetversion\,
or copy to /opt/microsoft/powershell/<psversion>/Modules/PackageManagement/#onegetversion/,
if you are running on Linux or Mac.
Note: OneGet version number can be found from the PackageManagement.psd1 file.
> cd oneget
> cd Test
> & '.\run-tests.ps1' fullclr
> & '.\run-tests.ps1' coreclrFeel free to clone the repository and check out the different branches:
There are currently three branches in the git repository:
| Branch/Tag | Purpose |
|---|---|
master |
The master branch is where the daily builds of OneGet will be made from. |
WMF5_RTM |
The WMF5_RTM tag is to mark the WMF 5.0 RTM release point. |
TP5 |
The TP5 tag is to mark the TP5 release point. |
wip |
The wip branch is where the current unstable and not-likely-working coding is taking place. This lets you see where I'm at before stuff actually hits the master branch. Fun to read, but really, the wild-west of code branches. |
| Branch | Purpose |
|---|---|
| @sydneyhsmith | Program Manager on OneGet. |
| @jianyunt | Engineer owner on OneGet & its providers. |
| @edyoung | Our engineer manager on OneGet. |
| @alerickson | Engineer on the team. |
This module is currently not in development. We are no longer accepting any pull requests to this repository. OneGet is in a stable state and is expected to recieve only high-priority bug fixes from Microsoft in the future.
If you have a question, or are seeing an unexpected behavior from this module please open up an issue in this repository.
The PowerShell/PowerShellGet repository is actively in development as the new PowerShell package manager.
| AppVeyor (Windows) | Travis CI (Linux / macOS) |
|---|---|
| AppVeyor (Windows) |
|---|
PackageManagement is supported in Windows, Linux and MacOS now. We periodically make binary drops to PowerShellCore, meaning PackageManagement is a part of PowerShell Core releases. Also PackageManagement and PowershellGet Modules are regularly updated in PowerShellGallery.com.
Thus check out the latest version from PowerShellGallery.com.
OneGet is shipped in Win10 and Windows Server 2016! For downlevel OS, you can install the WMF 5.1 and then start using the OneGet.
You can follow @PSOneGet on Twitter to be notified of every new build.
OneGet is a Windows package manager, renamed as PackageManagement. It is a unified interface to package management systems and aims to make Software Discovery, Installation, and Inventory (SDII) work via a common set of cmdlets (and eventually a set of APIs). Regardless of the installation technology underneath, use
No open issues yet, or sync has not completed.