MiKTeX をアップデートすると、時々インストールが不整合な状態になります。これはパッケージの問題である可能性があります (例については、この質問)ですが、パッケージが分割されたり、名前が変更されたりすることもあります。私が覚えているのは、amslatex
に分割されamsmath
、amscls
(miktex-etex-base-2,9
に改名されたときmiktex-etex-base-2.9
私の記憶が正しければ; きっとそれか、それに非常に似たものだったと思います。いずれの場合も、MiKTeX 更新プロセスは「古い」パッケージを削除することを提案しましたが、MiKTeX インストールを使用可能な状態に戻すために、パッケージ マネージャーでそれぞれの代替パッケージを手動で追加する必要があることについては、ユーザーにヒントを与えませんでした。
MiKTeX を最新の状態に保つためのベストプラクティスは何ですか?私が質問しているのは、新しいパッケージやフォントのインストール全般についてではないことに注意してください。この分野については、他にも質問があります。
- リポジトリの更新プロセスと同期はどのような順序で実行する必要がありますか?
- この回答によるとアップデートする前に、MiKTeX ホームページを確認することをお勧めします。他に何をすべきでしょうか?
- MiKTeX オプション メニュー内の「FNDB の更新」および「フォーマットの更新」プロセスをいつ、どの順序で (そしてなぜ) 実行する必要がありますか?
- 他に何が起こる可能性がありますか? 他にアドバイスはありますか?
答え1
2018年の追加: MiKTeXコンソール
2018 年には、これまで使用されていた 3 つのツール (設定、パッケージ マネージャー、更新マネージャー) をすべて統合した新しいツール、MiKTeX コンソールが登場しました。
コンソールを使用して、更新の確認、新しいパッケージのインストール、ローカル ルートの追加、およびほとんどのメンテナンス タスクの実行を行うことができます。形式と言語を管理するためのタブも追加されました。
コンソールは2つのモード(管理者とユーザー)で動作し、ドキュメントによると、マルチユーザーインストールではどちらのモードを使用するか尋ねられます。以下に説明するように、両方モード。
リポジトリの同期は、エントリを使用してタスク メニューを通じて実行できるようになりましたtasks->Update package database
。
FNDB は で更新できますtasks-> Refresh file name database
。
タスク メニューに、フォント マップを再作成するためのエントリが新しく追加されました。これにより、updmap
コマンド ラインで実行する必要がなくなりました。tasks->Refresh font map files
代わりに を使用できます。
いくつかのドキュメントはここにありますhttps://miktex.org/howto/miktex-console
2018年編集: WindowsとLinux
私がこの回答を書いたとき、MiKTeX は Windows でのみ動作しました。現在 Linux 版が登場しています。Linux 版では状況が異なる場合があることに注意してください。たとえば、インストールには特別な手順が必要です (https://miktex.org/howto/install-miktex-unx)。ドキュメントを確認してください。
管理者 + ユーザーモード
マルチユーザーインストールの場合は、miktexをメンテナンスする必要があります。両方モード。管理者モードだけではすべてを実行できるわけではなく、ユーザーがインストールしたパッケージを更新したり、ユーザーが所有するフォーマットや FDNB およびマップ ファイルを更新したりすることはできません。
したがって、両方のモードで更新マネージャーを実行し、両方のパッケージ マネージャーを同期します。場合によっては、ユーザーとしてフォーマットを作成し、マップ ファイルを更新する必要があることもあります (以下を参照)。
同期
Miktex には、利用可能なパッケージ、その内容、およびインストール方法に関する情報を含むオフライン データベースがあります。Miktex は、オンザフライ インストールのためにこのようなオフライン データベースを必要とします。ファイルが見つからないたびに miktex が情報をダウンロードすると、他の問題に加えて、コンパイル速度が大幅に低下します。
新しいパッケージがオンライン リポジトリに追加された場合、または何らかの理由でパッケージが再配置または名前変更された場合、PC 上のオフライン データベースは最新ではなくなるため、「同期」する必要があります (パッケージ マネージャーの [リポジトリ] メニュー)。マルチユーザー インストールの場合は、両方のパッケージ マネージャー (管理者 + ユーザー) で同期します。これが当てはまるかどうかはわからないため、賢明な経験則を使用する必要があります。毎月同期する、更新マネージャーがパッケージを削除した場合、多数の更新を実行する前、新しいパッケージを探している場合、奇妙なエラーが発生した場合は同期します。
アップデート
新しいパッケージを確認するには、管理者 + ユーザー モードで更新マネージャーを定期的に実行する必要があります。[更新] ボタンをクリックする前に、よく考えてください。更新によってシステムが変更され、システムが壊れる場合があります。問題に対処する時間がないときは更新しないでください。パッケージが削除され、その影響がわからない場合は更新しないでください。数日待っても害はありません (私は 3 つのシステムに miktex を持っていますが、それらの年齢は数週間異なります)。
FNDB + フォーマット + マップファイル:
通常、パッケージ マネージャーを使用してパッケージをインストールする場合は、これについて何かを行う必要はありません。
しかし例外もあります:
金融情報
ファイルをインストールする場合手動でFNDB は常に更新する必要があります (どちらが正しいかわからない場合は、管理者 + ユーザー モードで更新してください)。miktex がインストールされているものを見つけられない場合は、更新しても問題はありません。
フォーマット
ユーザーフォーマット(miktex設定のユーザーバージョンのボタンで作成)は管理者フォーマットよりも優先されます。更新マネージャー(管理者)はそのようなユーザーフォーマットを更新できないため、そのようなフォーマットがある場合は(場合によっては)自分で更新する必要があります。更新フォーマットmiktex 設定のボタン (ユーザー バージョン)。
miktex 設定のフォーマット タブでは、作成するフォーマットを除外したり含めたりすることができます。除外されたフォーマットは自動的に更新されることはありませんしたがって、フォーマットが変更されない場合は、そのステータスを確認してください。
時々、miktex はベース ファイルの更新後にフォーマット生成をトリガーし忘れることがあります。その場合は、miktex 設定 (古いフォーマットの場所に応じて管理者またはユーザー) でフォーマットを手動で更新する必要があります。
フォーマットの作成に失敗することがあります(これは頻繁に起こることではありません)。この場合、ビルド1つmiktex 設定のフォーマット タブからフォーマットに失敗した場合は、エラー メッセージをコピーしてサポートを依頼してください。
マップファイル
多数のマルチユーザー インストールでは、オンザフライ インストールによってユーザー マップ ファイルが作成されます。これらは、updmap
type1 フォントを含むパッケージをインストールした後、コマンド ラインで実行して手動で更新する必要があります。
重要な更新
miktex-
重要な更新は、コア miktex パッケージ (リスト内で で始まるもの) を変更する更新です。
コア パッケージのインストールを元に戻すのは困難または不可能です。このような更新後にバイナリが壊れると、作業に多大な支障をきたす可能性があります。そのため、更新を行うのが適切なタイミングであるかどうかを慎重に検討してください。実稼働環境の場合は、少し待ってからメーリング リストとバグ トラッカーでレポートを確認することをお勧めします。
場合によっては、このような更新には、新しいパッケージ (たとえば、新しいバージョン.dll
や新しいツールなど) も必要になります。更新マネージャーは新しいパッケージを表示しません。また、これらのパッケージが必要であることやインストールする必要があることを警告することもありません。
重要と思われるアップデートリストを見つけたら、初めパッケージ マネージャー (マルチユーザー設定では (admin)) を起動し、データベースを同期し (メニューrepositories
)、アンインストールされたパッケージがあるかどうかを確認しmiktex-
、それらをインストールします。
これを忘れて、このような重要な更新後に miktex が失敗した場合:慌てないで通常、不足しているパッケージは、ツールのコマンド ライン バージョンを使用してインストールできます。また、CTAN からダウンロードした後に手動でインストールすることもできます。