7
3

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 5 years have passed since last update.

最小構成実行環境の整備【heroku sinatra mecab】

Last updated at Posted at 2018-07-17

やりたいこと

Qiitadon みてたら、「MeCabを用いたSinatraアプリケーションをHerokuにデプロイしようとしてつまづいております。どなたかお助けを…」って言っている人がいたので、助けに行く。

トゥート:https://qiitadon.com/@a_ta/100382612720547690
(Qiitadonの埋め込みができないよ、Qiitaさん!)

目標

  • heroku 上で sinatra を使って公開しているアプリで mecab を使いたい
  • 最低限のコードで動くものを目指す

環境

  • heroku 無料枠
  • ruby 2.3.7
  • mecab 0.996

ファイル

ファイル構造
mecab_on_heroku
  ├── .gitignore
  ├── Gemfile
  ├── Gemfile.lock
  ├── Procfile
  └── app.rb

ファイル内容

.gitignore
/vendor
Gemfile
ruby "2.3.7"
source 'https://rubygems.org'
gem 'sinatra'
gem 'mecab', '0.996'
Procfile
web: ruby app.rb
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

参照ページ

GitHub: heroku-buildpack-mecab リポジトリページ

7
3
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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?