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 он бросает хеш перед этой строкой.

тьфу, я чувствую себя так глупо

Другие вопросы по тегам