Azure Linux App Service のデプロイメントトラブルシューティング

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

Azure Linux App Service に IronPDF をデプロイする際、システムライブラリが欠落しているため、アプリケーションがPDFをレンダリングできない場合があります。 これは、Windows よりも少ない事前インストール済みのパッケージが Linux 環境には含まれていないためであり、IronPDF レンダリングエンジンの動作には追加の共有ライブラリが必要です。

Multiple issues occurred while trying to deploy Chrome (libatk-1.0.so.0: cannot open shared object file: No such file or directory) (IronInterop.so: cannot open shared object file: No such file or directory) (Read-only file system: '/home/site/wwwroot/runtimes')

このエラーは、Linux 環境に IronInterop.so に必要な一つ以上の共有ライブラリが欠如していることを意味します。 アプリサービスのSSHコンソールから ldd IronInterop.so を実行すると、どのライブラリが欠けているかを正確に特定できます。 ランタイムフォルダーに対しての読み取り専用ファイルシステムメッセージは、同じ依存関係の欠如状態の別の症状です。

解決策

ステップ1: 欠如している依存関係を特定する

  1. Visual Studio から通常の手順でアプリサービスをデプロイします。
  2. Azure Linux App Service の SSH コンソールを開きます。
  3. wwwroot ディレクトリに移動します:
cd /home/site/wwwroot
  1. 未解決の依存関係をリストするためにネイティブバイナリに対して ldd を実行します:
ldd IronInterop.so
  1. OS バージョンを確認して、どのパッケージ名が適用されるかを確認します:
cat /etc/os-release

ステップ2: 欠如しているライブラリをインストールする

ほとんどの Linux ディストリビューション(Debian/Ubuntu ベースのイメージ)については、以下の方法で必要なパッケージをインストールします:

apt-get update && apt-get install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libxkbcommon0 libasound2 libatspi2.0-0

Ubuntu 24.04 イメージ(.NET 10 で使用される)については、いくつかのパッケージ名が変更されているため、代わりに以下の Dockerfile 命令を使用します:

RUN apt update \
    && apt install -y sudo libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2t64 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev

ステップ3: すべての依存関係が解決されていることを確認する

未解決のエントリがないことを確認するために ldd を再度実行します:

ldd IronInterop.so

すべてのエントリは not found ではなく、解決されたパスを示すべきです。 すべての依存関係が整うと、Webアプリケーションを通じたPDFレンダリングは正常に動作します。 Linux ディストリビューション間で必要なパッケージの完全なリストについては、Linux デプロイメントガイドをご覧ください。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 20,088,359 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。