[RUBY] Activer la gemme natto / mecab dans l'environnement Heroku

Objectif

Puisque mecab n'est pas installé dans l'environnement Heroku, si vous le poussez simplement, il échouera dans la construction. Il y avait différentes méthodes telles que heroku-buildpack-mecab et heroku-buildpack-linuxbrew, mais Plus je le recherchais, plus les tempêtes devenaient obsolètes. Le résultat d'essais et d'erreurs quant à savoir si cela peut être fait avec buildpack est la méthode d'utilisation de heroku-buildpack-apt cette fois. Enregistrez comment construire un environnement en utilisant heroku-buildpack-apt et heroku-buildpack-ruby.

Cible

--Les personnes qui souhaitent utiliser gem natto / mecab dans l'environnement Rails / Sinatra sur Heroku

heroku-buildpack-apt

heroku-buildpack-ruby

procédure

Gemfile Assurez-vous que les gemmes suivantes sont installées dans le Gemfile

Gemfile


gem 'mecab', '0.996'
gem 'natto'

paramètres de buildpack

bash


heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
heroku buildpacks:add --index 2 heroku/ruby

Vous disposez maintenant d'un environnement qui utilise ces deux buildpacks. Référence

Définition des variables d'environnement

Il est installé sous / app / .apt / usr / lib / x86_64-linux-gnu via buildpack. mecabrc va dans / app / .apt / etc / mecabrc. Traversez le chemin là-bas

bash


heroku config:set MECABRC=/app/.apt/etc/mecabrc
heroku config:set MECABRC=/app/.apt/etc/mecabrc
heroku config:set MECAB_PATH=/app/.apt/usr/lib/x86_64-linux-gnu/libmecab.so

Créer un Aptfile

Écrivez les paquets que vous voulez installer dans heroku-buildpack-apt. Créez ʻAptfile` à la racine du référentiel

Aptfile


mecab
libmecab-dev
mecab-ipadic
mecab-ipadic-utf8

Déployer

Déployer

bash


git add .
git commit -m 'commit message'
git push heroku master

Conclusion

J'ai fait de mon mieux avec buildpack, mais je pense que c'est extrêmement paisible de le faire avec Docker.

Recommended Posts

Activer la gemme natto / mecab dans l'environnement Heroku
Présentation de Bugsnag à Heroku
Ouais, je suis sur Heroku!
Utiliser Corretto 11 avec Heroku
Résolution d'erreur sur Heroku