คำสั่ง Install-Module ใน Powershell คืออะไร


8

บทความต่าง ๆ ของ Microsoft อ้างถึงคำสั่ง Powershell ติดตั้งโมดูลแต่ฉันไม่สามารถค้นหาการอ้างอิงถึงสิ่งที่เป็นจริงและไม่คล้อยตาม googling ฉันติดตั้งpsgetแล้วฉันจึงมีรุ่นของ Install-Module ... แต่ฉันคิดว่านั่นไม่ใช่ Install-Module ที่ทุกคนกำลังพูดถึง

ฉันพบโมดูลการติดตั้งนี้แล้ว นั่นเป็นสิ่งที่แตกต่างจาก PsGet หรือเปล่า? ถ้าเป็นเช่นนั้นฉันควรถอนการติดตั้ง PsGet ดังนั้นฉันจะกลับไปเป็นค่าเริ่มต้นหรือไม่


"นั่นคือสิ่งที่แตกต่าง" - ไม่; ในตัวอย่างที่ใช้ในการติดตั้ง Install-Module ตัวเองเป็นส่วนหนึ่งของ PowerShell 3.0 และเป็นส่วนหนึ่งของ PowerShell 5Azure Resource ManagerInstall-ModuleAzure Resource Manager
Ramhound

ขอบคุณ @Ramhound - ฉันมีการติดตั้ง psget ซึ่งเพิ่มคำสั่งติดตั้งโมดูลดังนั้นฉันคิดว่ามันเขียนทับ Install-Module ที่มาพร้อมกับ PS
โรรี่

ฉันจะสันนิษฐานว่าไม่รับประกัน แต่ถ้าเพิ่มโมดูลตัวเองมันเป็นเดิมพันที่ปลอดภัย
Ramhound

บล็อกโพสต์til.secretgeek.net/powershell/ …
Tim Abell

คำตอบ:


18

ผมได้ติดตั้งก่อนหน้าPSGetInstall-Moduleซึ่งถูกเขียนทับรุ่นของฉัน คุณสามารถตรวจสอบสิ่งนี้ได้ด้วยการเรียกใช้help install-moduleและดูเวอร์ชันที่อ้างอิง

ฉันไม่สามารถหาเอกสารถอนการติดตั้งสำหรับ PSGet C:\Users\Rory\Documents\WindowsPowerShell\Modules\PSGetดังนั้นฉันลบมันโดยการลบโฟลเดอร์ ตอนนี้help install-moduleอ้างถึงเวอร์ชันของ Microsoft


1
นี่เป็นวิธีที่ถูกต้องในการถอนการติดตั้งโมดูลใด ๆ หากไม่มีการอ้างอิง PsGet ตามค่าเริ่มต้นไม่มีสิ่งใด ๆ ดังนั้นควรปรับเพียงเพื่อลบออก
Mike Chaliy

1
คุณอาจต้องรีสตาร์ทหน้าต่างคำสั่ง Powershell เพื่อให้สิ่งนี้มีผล
David White

1
คอมพิวเตอร์ของฉัน psget ได้รับการติดตั้งภายใต้ C: \ Program Files \ WindowsPowerShell \ Modules
dinnouti

9

คุณสามารถหลีกเลี่ยงการปะทะกันโดยนำหน้าคำสั่งด้วยชื่อโมดูล :

PsGet ติดตั้งและใช้งาน

C:\repos> install-module csproj
Module csproj was not found in central repository
At C:\Users\Administrator\Documents\WindowsPowerShell\Modules\PsGet\PsGet.psm1:694 char:13
+             throw "Module $Module was not found in central repository ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Module csproj w...tral repository:String) [], RuntimeException
    + FullyQualifiedErrorId : Module csproj was not found in central repository

ใช้ชื่อที่ผ่านการรับรอง:

C:\repos> powershellget\install-module csproj

Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running
the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "N"): y
C:\repos>

ขอบคุณhttp://windowsitpro.com/blog/dealing-cmdlet-name-conflicts

ชื่อโมดูลที่ได้รับจากการอ่าน URL ของเอกสาร - https://msdn.microsoft.com/powershell/reference/5.1/PowerShellGet/install-module

ข้อมูลเพิ่มเติม: https://andrwwatt.wordpress.com/2006/05/13/coping-with-a-powershell-naming-clash/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.