Powershell не импортирует функции из модуля
Я пытаюсь настроить канал NuGet здесь, и это сработало нормально. Я установил модуль из своего канала через
Install-Module -Name MyCmdlets -Repository $RepoName -Scope CurrentUser -Force
Import-Module -Name MyCmdlets
Однако когда я запускаю Get-Module, я не получаю функций, и это манифест?
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.0 MyCmdlets
Если я вручную перейти к установленному месту и импортировать вручную
Import-Module <my-path>\1.0\MyCmdlets.psm1
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 0.0 MyCmdlets {Create-Project, Get-AuditLogs, Get-..
В моем файле манифеста есть эти строки, поэтому я не понимаю, почему Import-Module
не работает правильно.
FunctionsToExport = '*'
CmdletsToExport = '*'
2 ответа
Я полагаю, вы не установили корневой модуль в вашем.psd1 так
#
# Module manifest for module 'YourModule'
#
@{
# Script module or binary module file associated with this manifest
RootModule = 'YourModule.psm1'
# Version number of this module.
ModuleVersion = '1.0.0'
...
Это необходимо для того, чтобы при импорте модуля манифеста он также загружал модуль скрипта
Если вы сталкиваетесь с этим вопросом, почему его модуль не импортирует, убедитесь, что RootModule = 'YourModule.psm1' не закомментирован. По умолчанию при создании нового манифеста с использованием New-ModuleManifest он бросает хеш перед этой строкой.
тьфу, я чувствую себя так глупо