【问题标题】:PowerShell Module CreationPowerShell 模块创建
【发布时间】:2016-09-04 16:44:37
【问题描述】:

我正在尝试创建一个自定义 PowerShell 模块,并在一个名为 MyModule 的新目录中包含一个 .psm1 模块文件,其中包含一些简单的函数和一个 .psd1 清单文件。此目录存储在 $env:PSModulePath 中指定的位置之一。

当我尝试导入新模块时,出现以下错误:

PS> Import-Module MyModule
Import-Module : The specified module 'MyModule' was not loaded because no valid module file was found in any module directory.
At line:1 char:1
+ Import-Module MyModule
+ CategoryInfo          : ResourceUnavailable: (MyModule:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

我调用 Import-Module 所在的目录也与 psm1 文件同名。

Directory: C:\MyModule

Mode                LastWriteTime         Length Name                                                                                                                                                                           
----                -------------         ------ ----                                                                                                                                                                           
-a----         9/3/2016   1:40 PM           2595 MyModule.psd1                                                                                                                                                                  
-a----         9/3/2016   1:06 PM           1718 MyModule.psm1  

我一直使用以下资源作为指南: https://msdn.microsoft.com/en-us/library/dd878324(v=vs.85).aspx

我错过了什么?

提前谢谢你。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    PSModulePath 中的目录需要包含一个或多个与模块名称匹配的目录。换句话说,C:\MyModule 不应该显式地出现在 PSModulePath 中,而是应该在路径中添加类似 C:\PSModules 的内容,然后在该目录中,您将拥有包含您的模块和清单的 \MyModule

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多