10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Herokuでデプロイする際に出たSlug Sizeエラーの解決方法

Posted at

はじめに

機械学習を用いたアプリをHerokuでデプロイしようとしたところ、下のようなエラーが出ました。

Compiled slug size: 625.5M is too large (max is 500M)

「Slug Sizeを減らす方法」で検索すると下記の解決方法①についてはたくさん出てくるのですが、それでは解決できなかったので、私が検索しまくって辿り着いた解決方法と合わせて紹介します。

解決方法①

「Slug Size too large」などで検索すると一番よく出てくる解決方法です。
まず、heroku-repoというライブラリをインストールします。

heroku plugins:install heroku-repo

以下のコードでGitレポジトリに残っているキャッシュが消され、Slug Sizeが減ります。<アプリ名>には自分のアプリ名を入れてください。

heroku repo:gc --app <アプリ名>
heroku repo:purge_cache --app <アプリ名>

参考URL:
https://thoughtbot.com/blog/how-to-reduce-a-large-heroku-compiled-slug-size

解決方法②

私の場合は上記の方法で解決せず、たくさんの時間を溶かしました。(そもそも最初のデプロイができていないのでcurlでエラーが出てました。)
今回、機械学習を使ったアプリを作成していたため、tensorflowを用いていたのですが、これが問題でした。
どうやらtensorflowのバージョンが2.0以上だとライブラリのサイズが大き過ぎてSlug Sizeが500Mを超えてしまうようです。
そこでライブラリのバージョンを下げたところSlug Sizeが625Mから351Mまで減りました。

tensorflow==1.15.3

参考URL:
https://stackoverflow.com/questions/61062303/deploy-python-app-to-heroku-slug-size-too-large

tensorflowのバージョンを下げるだけで半分もSlug Sizeが減るとは思っていませんでした。もしtensorflowを使っていて、解決方法①でもダメだった場合は試してみてください。

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?