otm*_*ger 5 cron module node.js underscore.js
我用npm全局安装了模块下划线.如果我运行脚本
/usr/local/bin/node /home/olmo/project/processDrivesMultiUser.js
Run Code Online (Sandbox Code Playgroud)
无论我在路上的哪个地方都会运行正常,但是如果我像这样运行一个cronjob:
3,18,33,48, * * * * /usr/local/bin/node /home/olmo/project/processDrivesMultiUser.js
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Date: Wed, 10 Sep 2014 16:26:01 -0600
From: Cron Daemon <root@db.local>
To: olmo@db.local
Subject: Cron <olmo@db> /usr/local/bin/node /home/olmo/project/processDrivesMultiUser.js
module.js:340
throw err;
^
Error: Cannot find module 'underscore'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/olmo/sandbox/api_ievwebapp/parseAdminScripts/processDrivesMultiUser.js:20:9)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
Run Code Online (Sandbox Code Playgroud)
不知何故,underscore如果它通过cron运行,它找不到模块.我为我用来手动运行脚本的用户名创建了cron条目.
有任何想法吗?
我可以根据mu的评论找到答案太短.
我修改了crontab以包含环境变量NODE_PATH
3,18,33,48, * * * * export NODE_PATH=/usr/local/lib/node_modules/ && /usr/local/bin/node /home/olmo/project/processDrivesMultiUser.js
Run Code Online (Sandbox Code Playgroud)
现在我可以在node.js调用时使用模块cron.
| 归档时间: |
|
| 查看次数: |
1436 次 |
| 最近记录: |