我正在關注PluralSight有關流浪和hubot懈怠設置的教程。hubot-slack「無法找到模塊」 - 從新貴只
唯一的區別是我使用hubot-slack。
如果我通過從終端調用hubot
腳本啓動hubot - 一切正常 - bot連接並響應命令。
不幸的是,當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生成,也嘗試安裝hubot-slack globaly和本地但無濟於事。
如果是.conf
文件 - 沒有npm安裝,但是在provision.sh
文件中 - 我正在cd(作爲一個流浪用戶)到根目錄,執行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
你有什麼建議。