condaアップデート後のlibarchive.so.19エラー解決法
問題の概要
Condaを23.11.0に更新後、conda
コマンドを実行すると次のエラーが発生する問題が報告されています:
Error while loading conda entry point: conda-libmamba-solver (libarchive.so.19: cannot open shared object file: No such file or directory)
このエラーは、以下の特徴があります:
conda config --set solver classic
を設定しても解決しない- 主にLinux/macOS環境で発生
libarchive
とlibmamba
パッケージのチャンネル不一致が根本原因- Condaの再インストールなしで解決可能
効果的な解決手法
✅ 方法1: libarchiveの強制再インストール (推奨)
最も成功率の高い標準解決法:
conda install -n base libarchive -c main --force-reinstall --solver classic
実行例(成功時の出力):
## Package Plan ##
environment location: ~/miniconda3
added / updated specs:
- libarchive
The following packages will be UPDATED:
libarchive conda-forge::libarchive-3.6.2... → main::libarchive-3.6.2...
Proceed ([y]/n)? y
注意
実行中にError while loading conda entry point...
が表示されても処理は継続されます
✅ 方法2: 全パッケージのアップデート
方法1で解決しない場合の代替手段:
conda update --all --solver=classic
✅ 方法3: チャンネル設定の統一
異なるチャンネル混在が原因の場合:
conda config --remove-key channels
conda config --add channels conda-forge
conda update --all
⚠ 緊急回避策 (一時的な対処)
上記方法が即時実行できない場合の応急処置:
# libarchive.so.19の所在を検索
find / -name libarchive.so.19 2>/dev/null
# 発見後にシンボリックリンク作成 (例)
sudo ln -s /path/to/libarchive.so.19 /usr/lib/libarchive.so.19
# 環境変数でパス指定 (例)
export LD_LIBRARY_PATH=/miniconda3/lib:$LD_LIBRARY_PATH
注意事項
緊急回避策は根本解決にならず、パッケージ管理の混乱を招く可能性があります。可能な限り正式な方法1~3を優先してください。
根本原因と技術的背景
このエラーの本質は以下の組み合わせ問題にあります:
チャンネルの不一致
conda-forge
とdefaults/main
チャンネルから混合インストールconda-forge の libarchive (v13) と defaults の libmamba の互換性問題
バージョン命名規則の違い
conda-forge の libarchive v13 ⇨ システム上では libarchive.so.19 として機能solverの優先順位問題
デフォルト設定でconda-libmamba-solverが誤ってトリガーされる
予防策とベストプラクティス
チャンネル管理の統一化
bash# ベースチャンネルをconda-forgeに統一 conda config --add channels conda-forge conda config --set channel_priority strict
定期的な環境メンテナンス
bash# 月次のアップデート実行 conda update --all -n base
トラブル時のsolver明示指定
bash# 問題発生時は常に--solverオプションを付与 conda install ... --solver classic
参考リソース
最終確認ポイント
解決後は必ず次のコマンドでlibarchive
のバージョンとチャンネルを確認:
conda list | grep libarchive
# 正しい例: libarchive 3.7.4 hfab0078_0 main
以上の手法で、Condaの再インストールなしでエラーの永続的解決が可能です。環境に応じて最適な方法をお試しください。