我正在尝试创建一个自定义PowerShell模块,并在一个名为MyModule的新目录中包含一个带有一些简单函数和.psd1清单文件的.psm1模块文件。此目录存储在$ 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 on的目录也与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
我错过了什么?
提前谢谢。
答案 0 :(得分:2)
PSModulePath
中的目录需要包含一个或多个与模块名称匹配的目录。换句话说,C:\MyModule
中不应明确显示PSModulePath
,而应将C:\PSModules
添加到路径中,然后在该目录中添加\MyModule
其中包含您的模块和清单。