首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能让我的模块从PSModulePath中的目录加载?

为什么我不能让我的模块从PSModulePath中的目录加载?
EN

Stack Overflow用户
提问于 2013-03-29 02:00:06
回答 1查看 6.6K关注 0票数 2

我正在尝试安装一个PS模块,以便可以从任何地方导入它。我已经将我的安装目录添加到环境变量中,但这不起作用,所以我尝试将我的模块放在PSCX目录中,因为我知道它可以工作。下面是演示该问题的命令行历史记录。为什么"import-module foo“在这里不起作用?

代码语言:javascript
复制
C:\Program Files (x86)\PowerShell Community Extensions\pscx3\Pscx> $env:PSModulePath
C:\Users\chris\Documents\WindowsPowerShell\Modules;C:\Program Files (x86)\PowerShell     Community Extensions\Pscx3\;C:\windows\system32\WindowsPowerShell\v1.0\Modules\

# There's my module; foo.psm1
C:\Program Files (x86)\PowerShell Community Extensions\pscx3\Pscx> dir *.psm1


    Directory: C:\Program Files (x86)\PowerShell Community Extensions\pscx3\Pscx


Mode           LastWriteTime       Length Name
----           -------------       ------ ----
-a---     3/28/2013 10:37 AM           44 foo.psm1
-a---    10/20/2012  8:52 PM        19658 Pscx.psm1


# this works, as expected, so my PSModulePath seems correct.
C:\Program Files (x86)\PowerShell Community Extensions\pscx3\Pscx> import-module -force pscx

# I expect this to work since the module is in a PSModulePath directory... but it doesn't
C:\Program Files (x86)\PowerShell Community Extensions\pscx3\Pscx> import-module foo
import-module : The specified module 'foo' was not loaded because no valid module file was found in any module directory.
At line:1 char:1
+ import-module foo
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (foo:String) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

# Try again with the extension... nope.
C:\Program Files (x86)\PowerShell Community Extensions\pscx3\Pscx> import-module foo.psm1
import-module : The specified module 'foo.psm1' was not loaded because no valid module file was found in any module directory.
At line:1 char:1
+ import-module foo.psm1
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (foo.psm1:String) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

# I can import the module if I give the path
C:\Program Files (x86)\PowerShell Community Extensions\pscx3\Pscx> import-module ./foo.psm1 -verbose:$true
VERBOSE: Importing function 'fooobar'.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-29 03:26:48

您需要在此级别创建文件夹foo

代码语言:javascript
复制
C:\Program Files (x86)\PowerShell Community Extensions\pscx3\foo

并将您的foo.ps1文件放在那里。

然后你就可以调用

代码语言:javascript
复制
import-module foo
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15688968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档