PowerShell Package Management - Repository vs Provider vs Source
I am trying to understand package management in PowerShell, and I am getting an incomplete picture. When I look at the objects PSRepository, PackageProvider, and PackageSource, they all seem to have the following relationships:
- A PSRepository can provide zero or more PowerShell modules. A PSRepository must have one, and only one, PackageProvider. An example of a repository is
PSGallery
. - A PackageProvider can serve zero or more PSRepository objects. A PackageProvider must have one or more PackageSource objects. A PackageProvider is sometimes referred to as a "Package Manager". Some examples of package providers include
NuGet
,Chocolatey
, orPowerShellGet
. - A PackageSource must serve one and only one PackageProvider. Some examples of package sources include
nuget.org
,MyCustomVSTSFeed
, orPSGallery
.
I've looked at the following links, but it still doesn't provide a clear picture of how they are related.
about_PackageManagement
psgallery_gettingstarted
- Why does a PSRepository have a
property called PackageManagementProvider of type string
instead of type PackageProvider? - Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?
- Why is
PSGallery
both a PackageSource and a PSRepository? - Why is
PowerShellGet
both the name of a module that provides access to the gallery, and the name of a PackageProvider?
windows powershell package nuget chocolatey
add a comment |
I am trying to understand package management in PowerShell, and I am getting an incomplete picture. When I look at the objects PSRepository, PackageProvider, and PackageSource, they all seem to have the following relationships:
- A PSRepository can provide zero or more PowerShell modules. A PSRepository must have one, and only one, PackageProvider. An example of a repository is
PSGallery
. - A PackageProvider can serve zero or more PSRepository objects. A PackageProvider must have one or more PackageSource objects. A PackageProvider is sometimes referred to as a "Package Manager". Some examples of package providers include
NuGet
,Chocolatey
, orPowerShellGet
. - A PackageSource must serve one and only one PackageProvider. Some examples of package sources include
nuget.org
,MyCustomVSTSFeed
, orPSGallery
.
I've looked at the following links, but it still doesn't provide a clear picture of how they are related.
about_PackageManagement
psgallery_gettingstarted
- Why does a PSRepository have a
property called PackageManagementProvider of type string
instead of type PackageProvider? - Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?
- Why is
PSGallery
both a PackageSource and a PSRepository? - Why is
PowerShellGet
both the name of a module that provides access to the gallery, and the name of a PackageProvider?
windows powershell package nuget chocolatey
Maybe a repository is a combination of provider and source? And sources only have a provider property because sources only work with certain providers?
– srsedate
Mar 28 '18 at 22:06
And why does Find-Package not work with PackageSources but PSRepository locations?
– Brain2000
Dec 10 '18 at 20:28
add a comment |
I am trying to understand package management in PowerShell, and I am getting an incomplete picture. When I look at the objects PSRepository, PackageProvider, and PackageSource, they all seem to have the following relationships:
- A PSRepository can provide zero or more PowerShell modules. A PSRepository must have one, and only one, PackageProvider. An example of a repository is
PSGallery
. - A PackageProvider can serve zero or more PSRepository objects. A PackageProvider must have one or more PackageSource objects. A PackageProvider is sometimes referred to as a "Package Manager". Some examples of package providers include
NuGet
,Chocolatey
, orPowerShellGet
. - A PackageSource must serve one and only one PackageProvider. Some examples of package sources include
nuget.org
,MyCustomVSTSFeed
, orPSGallery
.
I've looked at the following links, but it still doesn't provide a clear picture of how they are related.
about_PackageManagement
psgallery_gettingstarted
- Why does a PSRepository have a
property called PackageManagementProvider of type string
instead of type PackageProvider? - Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?
- Why is
PSGallery
both a PackageSource and a PSRepository? - Why is
PowerShellGet
both the name of a module that provides access to the gallery, and the name of a PackageProvider?
windows powershell package nuget chocolatey
I am trying to understand package management in PowerShell, and I am getting an incomplete picture. When I look at the objects PSRepository, PackageProvider, and PackageSource, they all seem to have the following relationships:
- A PSRepository can provide zero or more PowerShell modules. A PSRepository must have one, and only one, PackageProvider. An example of a repository is
PSGallery
. - A PackageProvider can serve zero or more PSRepository objects. A PackageProvider must have one or more PackageSource objects. A PackageProvider is sometimes referred to as a "Package Manager". Some examples of package providers include
NuGet
,Chocolatey
, orPowerShellGet
. - A PackageSource must serve one and only one PackageProvider. Some examples of package sources include
nuget.org
,MyCustomVSTSFeed
, orPSGallery
.
I've looked at the following links, but it still doesn't provide a clear picture of how they are related.
about_PackageManagement
psgallery_gettingstarted
- Why does a PSRepository have a
property called PackageManagementProvider of type string
instead of type PackageProvider? - Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?
- Why is
PSGallery
both a PackageSource and a PSRepository? - Why is
PowerShellGet
both the name of a module that provides access to the gallery, and the name of a PackageProvider?
windows powershell package nuget chocolatey
windows powershell package nuget chocolatey
edited Mar 28 '18 at 22:05
srsedate
asked Mar 28 '18 at 21:37
srsedatesrsedate
8311925
8311925
Maybe a repository is a combination of provider and source? And sources only have a provider property because sources only work with certain providers?
– srsedate
Mar 28 '18 at 22:06
And why does Find-Package not work with PackageSources but PSRepository locations?
– Brain2000
Dec 10 '18 at 20:28
add a comment |
Maybe a repository is a combination of provider and source? And sources only have a provider property because sources only work with certain providers?
– srsedate
Mar 28 '18 at 22:06
And why does Find-Package not work with PackageSources but PSRepository locations?
– Brain2000
Dec 10 '18 at 20:28
Maybe a repository is a combination of provider and source? And sources only have a provider property because sources only work with certain providers?
– srsedate
Mar 28 '18 at 22:06
Maybe a repository is a combination of provider and source? And sources only have a provider property because sources only work with certain providers?
– srsedate
Mar 28 '18 at 22:06
And why does Find-Package not work with PackageSources but PSRepository locations?
– Brain2000
Dec 10 '18 at 20:28
And why does Find-Package not work with PackageSources but PSRepository locations?
– Brain2000
Dec 10 '18 at 20:28
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f49544596%2fpowershell-package-management-repository-vs-provider-vs-source%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f49544596%2fpowershell-package-management-repository-vs-provider-vs-source%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Maybe a repository is a combination of provider and source? And sources only have a provider property because sources only work with certain providers?
– srsedate
Mar 28 '18 at 22:06
And why does Find-Package not work with PackageSources but PSRepository locations?
– Brain2000
Dec 10 '18 at 20:28