raspberry-pi2にHubotをインストールしてみた
がじです。
久しぶりの更新です。5月はいろいろ体調管理に失敗して散々でした。
ちょっと前にTwitterでボットをインストールしたって書いたのですが、知人からどうやってやったの?と聞かれたので覚書を兼ねて書いておきます。
そんなのメールでやれ?そのとおりなんですけど、まあいいじゃないですか。
業務用のボットはサーバー上に入れているのですが、ここでは手元にあったraspberry Pi2に導入する方法について書いておきます。そう、自宅用にraspberry Pi2にHubotをインストールしてみました。
−−−スポンサードリンクーーー
−−−スポンサードリンクーーー
今だったらraspberry pi3とかzeroとか使うのが普通でしょうが、多分それほど手順は変わらないと思います。
参考にしたサイトはこちら
他ぷん日記さんの自作Slackボットを作ろうその2です。
なお、当時と状況が変わっているので自分なりにいくつか手を加えています。更にその手の加え方がかなり乱暴な方法を使っているので、私のやったとおりにやらないほうがいいと思います<ヲイ
まずは最初にnodejsとnpmをインストールしました。
$ sudo apt-get install nodejs npm
でもこれでインストールされるNode.jsってV0.12だったんですよね。
ここhttps://github.com/nodejs/LTS/を見てみるとV0.12はすでにEOLを迎えています。
流石にちょっと危なそうなので、V6.x系統をインストールすることにしました。
手順はGitHubhttps://github.com/nodesource/distributions上の記述に従いました。
まず作業の前に一旦古いnodejsを削除しました。
$ sudo apt-get remove nodejs
次いでGitHubの記述に従い、Node.jsのV6.xをインストールします。
# curl -sL https://deb.nodesource.com/setup_6.x | bash –
# apt-get install -y nodejs
これでNode.jsのV6.x系がインストールされるはずです。
raspberry pi2はいろいろと遅いのでかなり時間がかかりますが気長に待ちましょう。
なお、私が作業した時はv6.10.3がインストールされました。
その後でnpmコマンドでYeoman とYoemonのHubotジェネレータをインストールします。
$ npm install -g yo generator-hubot
途中で何故かエラーが出ました。
Error: EACCES: permission denied, access ‘/usr/lib/node_modules’
root権限で実行しても良かったのですが、参照元のブログにhubotが起動しなかったとあるのでちょっと強引な手段に出ます。
$ sudo chmod 777 /usr/lib/node_modules
再度インストール続行
$ npm install -g yo generator-hubot
しかし今度は
Permission denied, unlink ‘/usr/lib/node_modules/.staging’
でエラー。
イラッとしたので更に強引な手段続行
$ sudo chmod 777 /usr/lib/node_modules/.staging
三度インストール続行
$ npm install -g yo generator-hubot
今度はうまく行ったようです。
危険なので書き換えたパーミッションは755に戻しておきましょう。
では任意の場所にディレクトリを作成し、hubotを実行します。
$ mkdir sunbot
$ cd sunbot
$ yo hubot
いろいろ聞かれるので適切に入力していきます。
?Owner: gaji@seigaji.info
?Bot name: sumbot
?Description: gajinote!
?Bot adapter: slack
ザンボットではなくてサンボット(sunbot)です。
SlackのTeamメニューからApplication&settingを選択
export HUBOT_SLACK_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxx
で先ほど取得したAPI Tokenを設定して
./bin/hubot –adapter slack
を実行するとHubotが起動します。
正常に動作しています。
hubotはcoffee-scriptで動作するのですが、hubotをインストールしたディレクトリ配下にscriptsディレクトリがありまして、こちらにスクリプトを追加するといろいろ期待動作をしてくれます。
本日はこのあたりで
−−−スポンサードリンクーーー