Snap webappをコンパイルすると (本番サーバーにデプロイするため)、19MB になります。何を与える?これは正常ですか?私は何か間違ったことをしていますか?
私のサイトには 3 つの静的ページしかなく、基本的にsnap の init projectです。
Snap webappをコンパイルすると (本番サーバーにデプロイするため)、19MB になります。何を与える?これは正常ですか?私は何か間違ったことをしていますか?
私のサイトには 3 つの静的ページしかなく、基本的にsnap の init projectです。
Snap は多くの依存関係をプルしていると思います。残念ながら (初期) コンパイル時間に影響を与えるこの問題の解決策の 1 つは、プロジェクトが依存するライブラリを --split-objs オプションでインストールすることです。これにより、大量の異なるオブジェクトが生成されますが、最終的な実行可能ファイルは 2 ~ 4 分の 1 など、はるかに小さくなります。
$ cabal install --enable-split-objs
ライブラリが既にインストールされている場合は、最初にそれらを削除するか、新しい GHC をインストールするか、独自のパッケージ セットでサンドボックスを使用する必要があります。
コマンドも使用する必要がありますstrip
(場合によっては、cabal がこれを自動的に実行します)。
さらにupx
、実行可能ファイルの圧縮に使用して、最終的rsync
に最小限の異なる実行可能ファイルをサーバーにアップロードすることを検討することもできます。
共有ライブラリ ( cabal install --enable-shared
) を使用すると、ここで役立つ場合とそうでない場合があります。そのオプションは試していません。