powershell - Powershell 模块功能在 Get-Modules 中不可见
问题描述
我有一个包含单个功能的简单 powershell 模块,其精简版本如下:
function My-Func
{
.
.
.
}
Export-ModuleMember -Function 'My-Func'
我的清单文件包含一行来明确导出:
FunctionsToExport = "我的函数"
一切都通过 Publish-Module 上传到 powershell 库没有任何问题,然后当我安装它并运行 Get-Module 时,我在输出的导出命令列中看不到该函数,当我尝试调用功能 powershell 告诉我它不存在。
我的模块有一个 psm1 文件和一个 psd1 清单,由于某种原因,当我只将 Manifest 视为模块类型时,我猜我需要查看脚本?
有任何想法吗 ?
解决方案
在您的 .psm1 中:删除 Exported-ModuleMember 行
在您的 .psd1 中: RootModule = 'yourmodule.psm1' FunctionsToExport = @('function1','function2')
psd1 文件 FunctionsToExport 的工作方式类似于 Exported-ModuleMember 命令。这是一种从一个集中文件中定义事物的更简洁的方法。
推荐阅读
- android - 无法通过 `CompileOptions 指定 -processorpath 或 --processor-path
- wordpress - 基于自定义客户字段的附加订单电子邮件
- swift - 尝试使用 nil-coalescing 运算符?对于抛出和返回可选的函数
- ruby-on-rails - 如何调用对象(多对多关系)
- css - 影响其他页面的范围样式
- windows - Dropdown显示下拉控件上方的内容,它不显示uwp中控件下方的内容
- python-3.x - 检查给定时间段内是否缺少某个日期时间值
- php - laravel 5.8 上的类名问题与 Request->input
- flask - Flask 表单提交问题
- javascript - React-Semantic UI 调度事件不起作用