使用Publish-Script时遇Publish-PSArtifactUtility压缩文件生成错误求助
解决PSGallery发布PowerShell脚本时的依赖版本空值错误
根据你给出的错误信息,核心问题是脚本元数据里的依赖项没有指定有效版本字符串,导致生成nuspec包时失败。以下是具体的排查和修复步骤:
先检查脚本的元数据信息,执行命令:
Get-ScriptFileInfo .\MyScript.ps1重点看
Dependencies字段,如果存在类似@('SomeModule')这样没有版本的条目,就是问题根源。PSGallery要求脚本依赖必须指定版本范围(比如>=1.0.0),不能留空。修复依赖项:
用Update-ScriptFileInfo命令重新设置带版本的依赖,示例:Update-ScriptFileInfo -Path .\MyScript.ps1 -Dependencies @('PowerShellGet>=2.2.5', 'PackageManagement>=1.4.8')如果你的脚本没有任何依赖,直接设为空数组:
Update-ScriptFileInfo -Path .\MyScript.ps1 -Dependencies @()也可以手动编辑脚本顶部的注释块,确保
Dependencies条目每个都符合模块名>=版本号的格式。清理临时文件:
之前发布失败时生成的MyScript.nuspec临时文件可能残留错误配置,删掉这个文件后再重新执行发布命令。验证修复结果:
再次执行Get-ScriptFileInfo .\MyScript.ps1,确认Dependencies里的所有条目都有有效版本字符串,没有空值。
完成以上步骤后,重新运行Publish-Script命令应该就能正常发布了。
内容的提问来源于stack exchange,提问作者Dennis
相关产品推荐
相关产品推荐

