迷惑メールとハブロットのスラック設定に関するPluralSightのチュートリアルに従っています。hubot-slack「モジュールが見つかりません」 - 起動時のみ
唯一の違いは、私がhubot-slackを使用していることです。
端末からhubot
スクリプトを起動してハブロットを起動すると、すべて正常に動作します。ボットは接続してコマンドに応答します。
残念ながら、upstartからサービスとしてhubotを起動したときに、/var/log/upstart/myhubot.logにログインしました。 'アダプタの余裕を読み込めません - エラー:モジュール' hubot-slack '
私/bin/hubot
ファイルが(CLIから実行したときに、これはうまく動作します)次のようになります。
#!/bin/sh
set -e
npm install
export PATH="node_modules:node_modules/.bin:node_modules/hubot/node_modules/.bin:$PATH"
export HUBOT_SLACK_TOKEN={}
exec node_modules/.bin/hubot --name "hubot" --adapter slack "[email protected]"
私.conf
ファイルには、(モジュールを見つけることができない)、このようになります。
description "My hubot"
author "Me [email protected]"
start on runlevel [2345]
stop on runlevel [016]
setuid vagrant
env HOME="/home/vagrant"
chdir /vagrant/my-awesome-hubot
console log
script
export PATH="node_modules:node_modules/.bin:node_modules/hubot/node_modules/.bin:/usr/bin/coffee:/usr/bin/node:$PATH"
export HUBOT_SLACK_TOKEN={}
echo "DEBUG: `set`" >> /tmp/myhubot.log
exec node_modules/.bin/hubot --name "hubot" --adapter slack
end script
respawn
スラックトークンはこれらのスクリプトから除外されています。 デバッグではchdir
が正しいことを示し、pwd
はスクリプトを手動で実行したときと全く同じです。
私はnodejsプロジェクト全体を削除してからyeomanをゼロから作成しようとしましたが、globalyとlocalyの両方のhubot-slackをインストールしようとしましたが、役に立たなかった。
.conf
ファイルの場合 - npm installはありませんが、provision.sh
ファイルにあります - 私はルートディレクトリに(迷惑メールユーザーとして)npm installを実行してからサービスを再起動します。私はまた私が行う前に、テストの別のラウンドの前に、すべてをクリーンアップすることを確認作っています - vagrant provision
cp /vagrant/upstart/myhubot.conf /etc/init/myhubot.conf
sudo -u vagrant -i sh -c 'cd /vagrant/my-awesome-hubot; npm install'
service myhubot restart
あなたが何か提案はありますか。