动机
我需要测试我的自定义模块加载逻辑。在Powershell中发布真正的测试模块,然后再进行实际安装会浪费时间。
因此,我没有在将测试模块发布到真实目录中,而是想知道是否存在某种可以满足Powershell模块功能的内存提供程序,例如Publish/Install/Import-Module
。
编辑1
基本上,我想要与Simple in-memory PowerShell Provider?相同的东西
编辑2
我特别需要以下功能来使用内存存储:
Install-Module
Find-Module
Get-Module
,有或没有-ListAvailable
Import-Module
导入psm1文件不会将其剪切。使用New-Module
创建模块也不会删除它。
答案 0 :(得分:0)
您可以使用
Import-Module "Path to your psm1 file"
用于开发中的测试目的。
答案 1 :(得分:0)
我以前只是用PSD1和PSM1文件设置了 test 模块,然后在准备进行测试时将PS1文件拖放到该目录中。只要您将PDS1的导出功能部分设置为*,它就应该在导入模块时加载PS1文件。
另一种方法是简单地将函数另存为PS1文件,然后对其进行点源。例如:
. C:\Temp\TestFunction.ps1
请注意句号,然后留空格。这会将函数加载到内存中,并且在重新启动会话后将消失。
答案 2 :(得分:0)
您不能完全在内存中执行此操作,但是可以使用目录。可能您可以创建ramdisk或类似的文件,但是SSD上的常规目录对于大多数用途应该足够快。运行
# register the repo
Register-PSRepository -Name MyRepo -SourceLocaton c:\mydirectory
# publish to it
Publish-Module -Name MyModule -Repository MyRepo
# install from it
Install-Module -Name MyModule -Repoitory MyRepo