我正在使用 hubot(特别是 hubot-hipchat)并想使用https://github.com/scriby/asyncblock节点模块。在hubot中导入/需要节点模块的正确方法是什么?
我 cd 到我安装 hubot (~/hubot) 的地方并做了
编辑 hubot/packages.json 将 hubot-hipchat,asyncblock 添加到依赖项部分。
"dependencies": {
"hubot-hipchat": ">= 1.0.4",
"hubot": "2.1.4",
"hubot-scripts": ">=2.0.4",
"optparse": "1.0.3",
"asyncblock": "2.0.8"
}
然后我在我的 scripts/test.coffee 脚本中执行以下操作:
asyncblock = require('asyncblock')
当我启动hubot时,我收到错误:错误错误:找不到模块'asyncblock'
~/hubot/node_modules/asyncblock 存在。那么我尝试做:
require.paths.push('/home/ubuntu/hubot/node_modules')
现在我没有得到找不到错误,但我得到了一个新错误:
ERROR Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
我究竟做错了什么?
我只是想在运行 hubot 的 ubuntu 服务器上执行系统命令:
asyncblock((flow) ->
exec('node -v', flow.add())
result = flow.wait()
msg.send result
)
编辑:因此,如果我将 NODE_PATH 环境变量设置为以下内容,则它可以工作:
env NODE_PATH="/usr/lib/nodejs:/usr/share/javascript:/home/ubuntu/hubot/node_modules"
为什么不按惯例查看 hubot/node_modules ?