PowerShell Package Management - Repository vs Provider vs Source












1















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, or PowerShellGet.

  • A PackageSource must serve one and only one PackageProvider. Some examples of package sources include nuget.org, MyCustomVSTSFeed, or PSGallery.


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




  1. Why does a PSRepository have a
    property called PackageManagementProvider of type string
    instead of type PackageProvider?

  2. Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?

  3. Why is PSGallery both a PackageSource and a PSRepository?

  4. Why is PowerShellGet both the name of a module that provides access to the gallery, and the name of a PackageProvider?










share|improve this question

























  • 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
















1















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, or PowerShellGet.

  • A PackageSource must serve one and only one PackageProvider. Some examples of package sources include nuget.org, MyCustomVSTSFeed, or PSGallery.


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




  1. Why does a PSRepository have a
    property called PackageManagementProvider of type string
    instead of type PackageProvider?

  2. Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?

  3. Why is PSGallery both a PackageSource and a PSRepository?

  4. Why is PowerShellGet both the name of a module that provides access to the gallery, and the name of a PackageProvider?










share|improve this question

























  • 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














1












1








1








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, or PowerShellGet.

  • A PackageSource must serve one and only one PackageProvider. Some examples of package sources include nuget.org, MyCustomVSTSFeed, or PSGallery.


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




  1. Why does a PSRepository have a
    property called PackageManagementProvider of type string
    instead of type PackageProvider?

  2. Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?

  3. Why is PSGallery both a PackageSource and a PSRepository?

  4. Why is PowerShellGet both the name of a module that provides access to the gallery, and the name of a PackageProvider?










share|improve this question
















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, or PowerShellGet.

  • A PackageSource must serve one and only one PackageProvider. Some examples of package sources include nuget.org, MyCustomVSTSFeed, or PSGallery.


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




  1. Why does a PSRepository have a
    property called PackageManagementProvider of type string
    instead of type PackageProvider?

  2. Why does a PSRepository have its own SourceLocation property, if it already has a source reference through its provider?

  3. Why is PSGallery both a PackageSource and a PSRepository?

  4. 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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








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



















  • 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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Xamarin.iOS Cant Deploy on Iphone

Glorious Revolution

Dulmage-Mendelsohn matrix decomposition in Python