ライブラリに複数のファイルが含まれている場合、1 つのメイン ファイルが必要に応じて他のファイルをロードすると想定できます。ただし、ディレクトリが にない場合、load-path
それらをロードすることはできません (または少なくともそれらのバージョンをロードすることはできません)。したがってload-file
、それ自体ではうまくいきません。
私自身はpackage.elをあまり使用していませんが、ロードパスを管理して、他のものよりも優先されると本当に思っていましたsite-lisp
(おそらく、debianパッケージがインストールしているところです)。
実行emacs --no-site-lisp
して、正しいバージョンのライブラリがロードされていることを確認してください。サイト ライブラリから何も必要ない場合は、それが解決策になることもあります。
load-path
それが機能する場合は、 Emacs を正常に起動した後で変数を確認してください。絶対パスが指定されない限り、Emacs はそれらのディレクトリを順番に調べ、最初に一致したものを使用します。何らかの理由で、site-lisp ディレクトリが package.el によって作成されたディレクトリの前に表示されていると思います。
または、パッケージがまったく正しくインストールされなかった可能性があります。
つまり、少なくとも Emacs 24.3 では(package-initialize)
自動的に呼び出されるため、手動で何かをロードする必要はないと思います。package-load-list
変数を確認してください。
編集:
その最後の注意事項については、cannot open load dired-details を参照してください。
当時、Emacs はユーザーの init ファイルが読み込まれるまでパッケージを初期化しないことに気づいていなかったので、通常はinit ファイルで手動で初期化する必要があります。