百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
O

oneget

> 编程语言
开源

PackageManagement (又名 OneGet) 是一个适用于 Windows 的包管理器

2.4K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

PackageManagement (又名 OneGet) 是一个适用于 Windows 的包管理器

## Announcement 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](https://github.com/anypackage/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. ### Build Status - Master | AppVeyor (Windows) | Travis CI (Linux / macOS) | |--------------------------|--------------------------| | [![av-image][]][av-site] | [![tv-image][]][tv-site] | [tv-image]: https://travis-ci.org/OneGet/oneget.svg?branch=master [tv-site]: https://travis-ci.org/OneGet/oneget/branches [av-image]: https://ci.appveyor.com/api/projects/status/0q1frhm84pp83syh/branch/master?svg=true [av-site]: https://ci.appveyor.com/project/jianyunt/oneget ### Build Status - Nightly Builds |AppVeyor (Windows) | |------------------------------------| | [![av-nightimage][]][av-nightsite] | [av-nightimage]: https://ci.appveyor.com/api/projects/status/87d07mj8s9eyhfst/branch/master?svg=true [av-nightsite]:https://ci.appveyor.com/project/jianyunt/oneget-weumx # PackageManagement (aka OneGet) ### What's New PackageManagement is supported in Windows, Linux and MacOS now. We periodically make binary drops to [PowerShellCore][pscore], meaning PackageManagement is a part of PowerShell Core releases. Also PackageManagement and PowershellGet Modules are regularly updated in [PowerShellGallery.com](https://www.PowerShellGallery.com). Thus check out the latest version from PowerShellGallery.com. [pscore]: https://github.com/PowerShell/PowerShell ### Get Started! OneGet is shipped in Win10 and Windows Server 2016! For downlevel OS, you can install the [WMF 5.1][WMF5RTM] and then start using the OneGet. You can follow [@PSOneGet on Twitter](http://twitter.com/PSOneGet) to be notified of every new build. * Learn how to [use the PowerShell OneGet cmdlets](https://github.com/OneGet/oneget/wiki/cmdlets) and [try some samples](https://github.com/PowerShell/PowerShell-Docs/blob/staging/wmf/5.0/oneget_cmdlets.md) * Read our [General Q and A](https://github.com/OneGet/oneget/wiki/Q-and-A) * Read [Writing OneGet Provider Guidelines](./docs/writepowershellbasedprovider.md) * Learn about the [8 Laws of Software Installation](https://github.com/OneGet/oneget/wiki/8-Laws-of-Software-Installation) * [General Troubleshooting](https://github.com/OneGet/oneget/wiki/General-Troubleshooting) * Check out more help information [in our wiki page](https://github.com/oneget/oneget/wiki) [WMF5RTM]: https://aka.ms/wmf5download ### What is PackageManagement (OneGet)? 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 * Manage a list of software repositories in which packages can be searched, acquired, and installed * Search and filter your repositories to find the packages you need * Seamlessly install and uninstall packages from one or more repositories with a single PowerShell command #### PackageManagement Architecture
### Let's Try it #### Prerequisites - Windows 10, Windows Server 2016, or down-level Windows OS + WMF5 - Linux or Mac with the [PowerShellCore][pscore] #### Working with PowerShellGallery.com ``` … ``` #### Working with http://www.NuGet.org repository ``` … ``` ### Try the latest PackageManagement (OneGet) You can run `install-module PowerShellGet` to install the latest PackageManagment and PowerShellGet from [PowerShellGallery](https://www.powershellgallery.com). ### Downloading the Source Code OneGet repo has a number of other repositories embeded as submodules. To make things easy, you can just clone recursively: ```powershell git clone --recursive https://github.com/OneGet/oneget.git ``` If you already cloned but forgot to use `--recursive`, you can update submodules manually: ```powershell git submodule update --init ``` ### Building the code ``` powershell # 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.0 ``` If successfully built above, you should be able to see a folder: `oneget\src\out\PackageManagement\` whose layout looks like below: * `coreclr` * `fullclr` * `PackageManagement.format.ps1xml` * `PackageManagement.psd1` * `PackageManagement.psm1` * `PackageProviderFunctions.psm1` ### Deploying it #### Generate PackageManagement.nupkg We 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. ```powershell 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.nupkg ``` Then you can do ```powershell find-module -Repository local install-module -Repository local -Name PackageManagement ``` to get the newly built PackageManagement on your machines. #### Manual copy 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//Modules/PackageManagement/#onegetversion/`, if you are running on Linux or Mac. **Note**: OneGet version number can be found from the PackageManagement.psd1 file. ### Testing the code ```PowerShell > cd oneget > cd Test > & '.\run-tests.ps1' fullclr > & '.\run-tests.ps1' coreclr ``` ### Understanding the OneGet code repository Feel free to clone the repository and check out the different branches: #### 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. | ### Team Members | 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. | [Follow us on Twitter](https://twitter.com/PSOneGet) ### More Resources - [NuGet Provider](https://github.com/OneGet/NuGetProvider) - [PowerShellGet Provider](https://github.com/PowerShell/PowerShellGet) - [MicrosoftDockerProvider](https://github.com/OneGet/MicrosoftDockerProvider) - [NanoServerPackage](https://github.com/OneGet/NanoServerPackage) - Check out OneGet providers from our Community such as Gistprovider, OfficeProvider, 0Install and more from powershellgallery.com or simply run [Find-PackageProvider cmdlet](https://msdn.microsoft.com/en-us/powershell/gallery/psget/oneget/packagemanagement_cmdlets) - Want to write a provider? Check out our [sample provider](https://www.powershellgallery.com/packages/MyAlbum/) - Want to download packages from http://Chocolatey.org, try out [ChocolateyGet provider](https://www.powershellgallery.com/packages/ChocolateyGet) - Want to control which packages to use and where to get them from based on your organization? Check out [PSL provider](https://github.com/OneGet/PSLProvider) ======= ## Announcement 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. ### Build Status - Master | AppVeyor (Windows) | Travis CI (Linux / macOS) | |--------------------------|--------------------------| | [![av-image][]][av-site] | [![tv-image][]][tv-site] | [tv-image]: https://travis-ci.org/OneGet/oneget.svg?branch=master [tv-site]: https://travis-ci.org/OneGet/oneget/branches [av-image]: https://ci.appveyor.com/api/projects/status/0q1frhm84pp83syh/branch/master?svg=true [av-site]: https://ci.appveyor.com/project/jianyunt/oneget ### Build Status - Nightly Builds |AppVeyor (Windows) | |------------------------------------| | [![av-nightimage][]][av-nightsite] | [av-nightimage]: https://ci.appveyor.com/api/projects/status/87d07mj8s9eyhfst/branch/master?svg=true [av-nightsite]:https://ci.appveyor.com/project/jianyunt/oneget-weumx # PackageManagement (aka OneGet) ### What's New PackageManagement is supported in Windows, Linux and MacOS now. We periodically make binary drops to [PowerShellCore][pscore], meaning PackageManagement is a part of PowerShell Core releases. Also PackageManagement and PowershellGet Modules are regularly updated in [PowerShellGallery.com](https://www.PowerShellGallery.com). Thus check out the latest version from PowerShellGallery.com. [pscore]: https://github.com/PowerShell/PowerShell ### Get Started! OneGet is shipped in Win10 and Windows Server 2016! For downlevel OS, you can install the [WMF 5.1][WMF5RTM] and then start using the OneGet. You can follow [@PSOneGet on Twitter](http://twitter.com/PSOneGet) to be notified of every new build. * Learn how to [use the PowerShell OneGet cmdlets](https://github.com/OneGet/oneget/wiki/cmdlets) and [try some samples](https://github.com/PowerShell/PowerShell-Docs/blob/staging/wmf/5.0/oneget_cmdlets.md) * Read our [General Q and A](https://github.com/OneGet/oneget/wiki/Q-and-A) * Read [Writing OneGet Provider Guidelines](./docs/writepowershellbasedprovider.md) * Learn about the [8 Laws of Software Installation](https://github.com/OneGet/oneget/wiki/8-Laws-of-Software-Installation) * [General Troubleshooting](https://github.com/OneGet/oneget/wiki/General-Troubleshooting) * Check out more help information [in our wiki page](https://github.com/oneget/oneget/wiki) [WMF5RTM]: https://aka.ms/wmf5download ### What is PackageManagement (OneGet)? 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

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •Learn how to use the PowerShell OneGet cmdlets and try some samples
  • •Read our General Q and A
  • •Read Writing OneGet Provider Guidelines
  • •Learn about the 8 Laws of Software Installation
  • •General Troubleshooting
  • •Check out more help information in our wiki page
  • •Manage a list of software repositories in which packages can be searched, acquired, and installed
  • •Search and filter your repositories to find the packages you need
  • •Seamlessly install and uninstall packages from one or more repositories with a single PowerShell command
  • •Windows 10, Windows Server 2016, or down-level Windows OS + WMF5

> 标签

C#

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言