2017-10-27 14 views
6

私はLean定理証明者と一緒に作業しています。スタックのような機能を構築し、ライブラリキャッシュを構築したいと考えています。私が確信していることは、キャッシュ内の古いパッケージをいつ削除するかということです。 3.3.0と3.3.1という2つのバージョンのLeanがインストールされている場合、それらのパッケージで動作するすべてのパッケージのすべてのバージョンを保持すると主張できます。リーン構文は高速に動くので、非常に制限的です。スタックはどのくらいパッケージをキャッシュに保持しますか?

一方、私は、任意のパッケージのわずか10バージョンを維持することがわかりました。これは、最新の10個のバージョンまたは10個の最も最近要求されたバージョンである可能性があります。

stackと関連するツールを構築する際に考えられているアイディアの一部を知りたいと思います。

+0

:あなたのためのキャッシュの削除を扱う

stackコマンドが開発中です「実質的にインストールされた」パッケージのパッケージの数が非常に高くなり、誰も賢明でない人は、最も最近使用されたパッケージをアンインストールすることができます。 – dfeuer

答えて

3

stackは、キャッシュ内にパッケージを保持します。いつも。または、これらのパッケージを手動で削除するまで。 stackに実装されているスナップショットガベージコレクションはありません。それでは、あなたが唯一できることは、手動で全体スタックキャッシュを削除するには

rm -rf ~/.stack 

を呼び出すことです。一定期間蓄積された古いパッケージを定期的に削除するのが一般的には良い方法です。ただし、手動で変更した場合は、.stack/global-project/stack.yamlをバックアップしてください。セットから動的に(そのモジュールが要求されている)オンデマンドでパッケージをインストールする方法があった場合、それはかなりクールになる

https://github.com/commercialhaskell/stack/issues/133

関連する問題