You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下运行vsts-npm-auth报错:找不到VSS.NuGet.Authentication程序集

问题

在Ubuntu 22.04.3 LTS系统上使用Azure DevOps的npm认证工具vsts-npm-auth时,执行命令vsts-npm-auth -config .npmrc出现程序集缺失错误:

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'VSS.NuGet.Authentication, Version=0.42.1.0, Culture=neutral, PublicKeyToken=<my-token>' or one of its dependencies.
File name: 'VSS.NuGet.Authentication, Version=0.42.1.0, Culture=neutral, PublicKeyToken=<my-token>'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'VSS.NuGet.Authentication, Version=0.42.1.0, Culture=neutral, PublicKeyToken=<my-token>' or one of its dependencies.
File name: 'VSS.NuGet.Authentication, Version=0.42.1.0, Culture=neutral, PublicKeyToken=<my-token>'

已尝试重置工具、安装最新版vsts-npm-auth@0.43.0,问题仍未解决,同时找不到工具的源码仓库用于提交Issue。

解决方案

1. 检查并安装.NET运行时依赖

vsts-npm-auth基于.NET构建,Linux环境下需要对应版本的.NET Runtime支持:

  • 执行以下命令安装.NET 6 Runtime(适配多数vsts-npm-auth版本):
    sudo apt update
    sudo apt install -y dotnet-runtime-6.0
    
  • 安装完成后重新运行vsts-npm-auth命令测试。

2. 彻底清理并重装vsts-npm-auth

  • 全局卸载工具:
    npm uninstall -g vsts-npm-auth
    
  • 删除残留配置文件:
    rm -rf ~/.vsts-npm-auth
    # 若需保留其他npm配置,可先备份.npmrc再清理
    # mv ~/.npmrc ~/.npmrc.bak
    
  • 重新安装最新版本:
    npm install -g vsts-npm-auth@latest
    

3. 手动配置npm认证(替代工具方案)

由于vsts-npm-auth在Linux环境存在兼容性问题,可手动通过个人访问令牌(PAT)配置:

  1. 在Azure DevOps中生成具有**Packaging (Read & Write)**权限的PAT。
  2. 将PAT转换为Base64编码:
    echo -n "你的PAT值" | base64
    
  3. 在~/.npmrc中添加以下配置(替换[组织名]、[Feed名]和[Base64编码的PAT]):
    //pkgs.dev.azure.com/[组织名]/_packaging/[Feed名]/npm/registry/:username=任意字符串
    //pkgs.dev.azure.com/[组织名]/_packaging/[Feed名]/npm/registry/:_password=[Base64编码的PAT]
    //pkgs.dev.azure.com/[组织名]/_packaging/[Feed名]/npm/registry/:email=npm requires email to be set but doesn't use the value
    //pkgs.dev.azure.com/[组织名]/_packaging/[Feed名]/npm/:username=任意字符串
    //pkgs.dev.azure.com/[组织名]/_packaging/[Feed名]/npm/:_password=[Base64编码的PAT]
    //pkgs.dev.azure.com/[组织名]/_packaging/[Feed名]/npm/:email=npm requires email to be set but doesn't use the value
    

4. 提交Issue的路径

vsts-npm-auth的源码托管在Azure DevOps的Microsoft组织仓库:https://dev.azure.com/microsoft/DotNetCore/_git/NuGet.Authentication,可在此仓库的Issues板块提交问题,或通过Azure DevOps官方支持渠道反馈。

内容的提问来源于stack exchange,提问作者smartmouse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 07:43:53