やりたいこと
Qiitadon みてたら、「MeCabを用いたSinatraアプリケーションをHerokuにデプロイしようとしてつまづいております。どなたかお助けを…」って言っている人がいたので、助けに行く。
トゥート:https://qiitadon.com/@a_ta/100382612720547690
(Qiitadonの埋め込みができないよ、Qiitaさん!)
目標
環境
ファイル
mecab_on_heroku ├── .gitignore ├── Gemfile ├── Gemfile.lock ├── Procfile └── app.rb
ファイル内容
/vendor
ruby "2.3.7" source 'https://rubygems.org' gem 'sinatra' gem 'mecab', '0.996'
web: ruby app.rb
require 'sinatra' require 'mecab' get '/' do str = "我々宇宙人は地球を侵略しに来ました。" tagger = MeCab::Tagger.new "#{tagger.parse(str)}" end
Gemfile.lock は Gemfile を保存してから以下のコマンドを実行すると作成される。
bundle install --path vendor/bundle
heroku のデプロイ
cd mecab_on_heroku # 任意の作業ディレクトリ heroku create -a heroku_app_name --buildpack https://github.com/diasks2/heroku-buildpack-mecab.git heroku config:set LD_LIBRARY_PATH=/app/vendor/mecab/lib
ファイル構造で示した5つのファイルを作成したのち、下記のコマンドを実行する。
git add . git commit -m "first commit." git push heroku master
動作確認
以下のコマンドを実行すると、自動でデフォルトブラウザが開き、heroku アプリにアクセスする。
heroku open