hubot をインストールするときの手順まとめ(Linux編) とcurl error(77)対策


0 手順概要

1 nvmインストール
2 nvmでnodejsインストール
3 npm のバージョンを最新にする
4 npmでyoemanと generator-hubotをインストール
5 slackアダプターでhubot起動(おまけ)

1 nvmインストール

  • hubotを使うにはnodejsとnpmが必要。nodejsとnpmインストールするためにはnodejsのバージョン管理ツールnvmが必要。
  • nodejsを直接インストールもできるようだがめんどくさい。
  • たぶん、centos6系だとnvmのソースをダウンロードするときに以下のようなcurlのエラーがでるので対処が必要です
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash
curl: (77) Problem with the SSL CA cert (path? access rights?)
  • なので事前に次のようにssl証明書の設定を変更します(root権限で)
su -
mkdir /usr/src/ca-certificates && cd /usr/src/ca-certificates
wget http://mirror.centos.org/centos/6/os/x86_64/Packages/ca-certificates-2015.2.6-65.0.1.el6_7.noarch.rpm
rpm2cpio ca-certificates-2015.2.6-65.0.1.el6_7.noarch.rpm | cpio -idmv
cp -pi ./etc/pki/tls/certs/ca-bundle.* /etc/pki/tls/certs/
cp: overwrite '/etc/pki/tls/certs/ca-bundle.crt'? y
cp: overwrite '/etc/pki/tls/certs/ca-bundle.trust.crt'? y

  • ca-certificates-2015.2.6-65.0.1.el6_7.noarch.rpmのバージョンは適宜変わるので自分で確認すること
  • あらためてnvmインストール
exit # user権限に戻る この例ではvagrantユーザ
cd # homeに戻っていることを確認。念のため。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash  #バージョンは現時点の情報
export NVM_DIR="/home/vagrant/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
source ~/.bashrc
nvm --version
0.31.4

2 nvmでnodejsインストール

nvm ls-remote
         # ずらーっと出ます
         v4.4.0   (LTS: Argon)
         v4.4.1   (LTS: Argon)
         v4.4.2   (LTS: Argon)
         v4.4.3   (LTS: Argon)
         v4.4.4   (LTS: Argon)
         v4.4.5   (LTS: Argon)
         v4.4.6   (LTS: Argon)
         v4.4.7   (Latest LTS: Argon)
         v5.0.0
         v5.1.0
         v5.1.1
         v5.2.0
         # ずらーっと出ます
nvm install 4.4.7
Now using node v4.4.7 (npm v2.15.8)
Creating default alias: default -> 4.4.7 (-> v4.4.7)
# 安定板の最新バージョン4.4.7をインストールするとnpmも一緒にインストールされるがバージョンが古い。

3 npm のバージョンを最新にする

npm install -g npm
npm -v
3.10.5

4 npmでyoemanと generator-hubotをインストール

npm install -g yo generator-hubot

5 slackアダプターでhubot起動

mkdir hubot # 任意の名前
cd hubot
yo hubot  #hubot 作成 
# adapterでslackを選ぶ
# hubot起動
HUBOT_SLACK_TOKEN=xxxxxx  bin/hubot --adapter slack

  • トークンはslackのHubot設定ページから取得できる。ここでは詳細は割愛します。