IronPDF在.NET 9和.NET 10上的Ubuntu 24.04依赖问题

This article was translated from English: Does it need improvement?
Translated
View the article in English

在Ubuntu 24.04上运行.NET 9或.NET 10时,IronPDF无法在启动时安装所需的系统依赖项。这会影响Azure Linux映像和在没有root权限的非Docker Linux环境中应用程序无法运行。

E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/

Ubuntu 24.04将音频库从libasound2重命名为libasound2t64。IronPDF的自动依赖项安装程序针对原始libasound2包名称,并且在作为非root用户运行时无法获取APT锁,产生如上所示的权限错误。

解决方案

选项1:启用自动依赖配置(Docker和Azure Linux)

在第一次渲染调用之前,将true

IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
$vbLabelText   $csharpLabel

为在启动期间捕获诊断输出,启用文件日志:

IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.File;
IronSoftware.Logger.LogFilePath = "ironpdf.log";
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.File;
IronSoftware.Logger.LogFilePath = "ironpdf.log";
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.File
IronSoftware.Logger.LogFilePath = "ironpdf.log"
$vbLabelText   $csharpLabel

选项2:以提升的权限首次启动(非Docker Linux)

对于非Docker Linux环境,以提升的权限运行一次应用程序,以便IronPDF可以安装所需的包:

sudo -E dotnet run
sudo -E dotnet run
SHELL

如果在sudo下找不到dotnet,请使用完整路径:

sudo -E ~/.dotnet/dotnet run
sudo -E ~/.dotnet/dotnet run
SHELL

首次启动安装依赖项后,后续运行无需提升权限。 有关Ubuntu 24.04所需包的完整列表,请参阅Linux部署指南

重要此问题在IronPDF 2026.3.x中得到解决。 升级到该版本或更高版本意味着无需手动配置即可自动检测到libasound2t64库重命名。)]

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 20,088,359 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。