已发布到GitHub Packages的PowerShell模块无法被查找安装
解决GitHub Packages私有PowerShell模块无法通过Find-Module找到的问题
问题排查与修复步骤
1. 修正仓库名称匹配问题
你注册的PSRepository名称是Github,但执行查找命令时指定的仓库是readibots,名称不匹配是直接导致返回空结果的原因。先执行以下命令确认已注册的仓库信息:
Get-PSRepository
使用正确的仓库名称重新执行查找:
Find-Module -Repository Github -Credential (Get-Credential)
2. 验证PAT令牌权限
确保你的PAT令牌拥有以下必要权限:
read:packages:允许读取GitHub Packages资源- 若为组织级仓库,需确认你的账户在组织中拥有该包的读取权限
- 令牌未过期、未被撤销
3. 检查模块元数据完整性
模块的.psd1文件必须包含完整的必填元数据,否则无法被NuGet索引识别。至少需确保以下字段有效:
ModuleVersion:语义化版本号(如1.0.0)Author:作者信息Description:模块功能描述RootModule:指定模块入口文件CmdletsToExport/FunctionsToExport:明确导出的命令列表
4. 刷新仓库索引与清理缓存
PowerShell可能缓存了旧的仓库索引,执行以下命令强制刷新:
Update-PSRepository -Name Github
若刷新无效,手动清理模块缓存目录:
- Windows:
C:\Users\<你的用户名>\AppData\Local\Microsoft\Windows\PowerShell\PowerShellGet - Linux/macOS:
~/.local/share/powershell/PSGet
5. 确认仓库源配置正确性
检查注册仓库时的SourceLocation是否替换了<OrganizationName>为实际的GitHub组织名:
Get-PSRepository -Name Github | Select-Object SourceLocation
确保地址格式为https://nuget.pkg.github.com/你的组织名/index.json,无占位符残留。
内容的提问来源于stack exchange,提问作者SmoothJarManiac
相关产品推荐
相关产品推荐

