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
.
--Les personnes qui souhaitent utiliser gem natto / mecab dans l'environnement Rails / Sinatra sur Heroku
heroku-buildpack-apt
heroku-buildpack-ruby
ci-dessous, mais un buildpack non pris en charge.heroku-buildpack-ruby
Gemfile Assurez-vous que les gemmes suivantes sont installées dans le Gemfile
Gemfile
gem 'mecab', '0.996'
gem 'natto'
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
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
É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
bash
git add .
git commit -m 'commit message'
git push heroku master
J'ai fait de mon mieux avec buildpack, mais je pense que c'est extrêmement paisible de le faire avec Docker.