4

我正在尝试在此处设置 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 = '*'

4

2 回答 2

7

我猜你没有像这样在你的 .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'

...

这是必要的,因此当您导入清单模块时,它还会加载脚本模块

于 2016-08-09T15:34:25.520 回答
0

对于遇到此问题并寻找其模块无法导入的原因的任何人,请检查 RootModule = 'YourModule.psm1' 是否没有被注释掉。默认情况下,当使用 New-ModuleManifest 创建新清单时,它会在此行前面抛出一个哈希。

呃,我觉得很愚蠢。

于 2018-11-09T05:18:02.157 回答