2017-01-13 20 views
0

迷惑メールとハブロットのスラック設定に関する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 

あなたが何か提案はありますか。

答えて

1

私はこの未解決の質問と同じ問題で働いていましたので、私のソリューションで更新すると思いました。

現在のhubot生成アプリは、HUBOT_SLACK_TOKEN=xoxb-YOUR-TOKEN-HERE ./bin/hubot --adapter slackのcliで開始され、hubotが生成されたフォルダ内にあります。したがって、デフォルトのbin/hubotスクリプトを使用します。

description "My hubot" 
author "Me [email protected]" 

start on runlevel [2345] 
stop on runlevel [016] 

script 
    chdir /vagrant/my-awesome-hubot 
    export PATH="node_modules:node_modules/.bin:node_modules/hubot/node_modules/.bin:/usr/bin/coffee:/usr/bin/node:$PATH" 
    HUBOT_SLACK_TOKEN=xoxb-YOUR-TOKEN-HERE ./bin/hubot --adapter slack --name "hubot" >> /tmp/myhubot.log 
end script 

respawn 

あなたのconfファイルには、次のように実行する必要があり、したがって、これをピックアップする必要があります

関連する問題