BaGet包管理symbols上传报错如何分析及解决?

2026-04-11 04:481阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计410个文字,预计阅读时间需要2分钟。

BaGet包管理symbols上传报错如何分析及解决?

一、问题描述在使用BaGet进行包管理时,上传symbols时产生400错误:github action中报错信息,supercisord中报错信息。

二、问题分析控制台输出的错误信息仅限于请求状态为400,想找到更详细的信息。

一、问题描述

在使用BaGet进行包管理时中,上传symbols产生400报错:

BaGet包管理symbols上传报错如何分析及解决?

github action中报错信息

supercisord中报错信息

二、问题分析

控制台中输出的错误信息仅限于请求状态码400,想要找到详细的报错原因,我们需要从github.com/loic-sharma/BaGet/ 下载源代码,找到对应symbols上传方法:

BaGet.Web -> SymbolController -> async Task Upload(CancellationToken cancellationToken)

本地进行代码调试时,并不会出现此错误,可以判断为服务器环境差异导致,在相关的方法中增加跟踪代码:

编译上传服务器后在

BaGet.Core -> SymbolIndexingService -> async Task<IReadOnlyList<string>> GetSymbolPackagePdbPathsOrNullAsync(PackageArchiveReader symbolPackage,CancellationToken cancellationToken)

方法中捕获异常:

Required environment variable 'HOME' is not set.

三、解决方法

通过在项目运行Supervisord中修改environment参数来进行修复:

environment=ASPNETCORE__ENVIRONMENT=Production,DOTNET_CLI_HOME=/temp

增加完DOTNET_CLI_HOME后运行正常。

注意:如果项目运行是在supervisord下进行管理的

[program:local.nuget.keeplive] command=dotnet BaGet.dll directory=/srv/website/dotnet/nuget environment=ASPNETCORE__ENVIRONMENT=Production,DOTNET_CLI_HOME=/temp user=root stopsignal=INT autostart=false autorestart=true startsecs=3 stderr_logfile=/var/log/local.nuget.keeplive.err.log stdout_logfile=/var/log/local.nuget.keeplive.out.log

修改配置后记得运行 supervisorctl update 后重启应用

关联issue:github.com/loic-sharma/BaGet/issues/726

本文共计410个文字,预计阅读时间需要2分钟。

BaGet包管理symbols上传报错如何分析及解决?

一、问题描述在使用BaGet进行包管理时,上传symbols时产生400错误:github action中报错信息,supercisord中报错信息。

二、问题分析控制台输出的错误信息仅限于请求状态为400,想找到更详细的信息。

一、问题描述

在使用BaGet进行包管理时中,上传symbols产生400报错:

BaGet包管理symbols上传报错如何分析及解决?

github action中报错信息

supercisord中报错信息

二、问题分析

控制台中输出的错误信息仅限于请求状态码400,想要找到详细的报错原因,我们需要从github.com/loic-sharma/BaGet/ 下载源代码,找到对应symbols上传方法:

BaGet.Web -> SymbolController -> async Task Upload(CancellationToken cancellationToken)

本地进行代码调试时,并不会出现此错误,可以判断为服务器环境差异导致,在相关的方法中增加跟踪代码:

编译上传服务器后在

BaGet.Core -> SymbolIndexingService -> async Task<IReadOnlyList<string>> GetSymbolPackagePdbPathsOrNullAsync(PackageArchiveReader symbolPackage,CancellationToken cancellationToken)

方法中捕获异常:

Required environment variable 'HOME' is not set.

三、解决方法

通过在项目运行Supervisord中修改environment参数来进行修复:

environment=ASPNETCORE__ENVIRONMENT=Production,DOTNET_CLI_HOME=/temp

增加完DOTNET_CLI_HOME后运行正常。

注意:如果项目运行是在supervisord下进行管理的

[program:local.nuget.keeplive] command=dotnet BaGet.dll directory=/srv/website/dotnet/nuget environment=ASPNETCORE__ENVIRONMENT=Production,DOTNET_CLI_HOME=/temp user=root stopsignal=INT autostart=false autorestart=true startsecs=3 stderr_logfile=/var/log/local.nuget.keeplive.err.log stdout_logfile=/var/log/local.nuget.keeplive.out.log

修改配置后记得运行 supervisorctl update 后重启应用

关联issue:github.com/loic-sharma/BaGet/issues/726