IronPDF在Ubuntu 24.04上的依賴問題於.NET 9和.NET 10

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)

在第一次render調用之前設置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擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,088,359 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。