如果从cron运行,则不能将模块导入到节点脚本中

我有模块下划线全局安装npm。 如果我运行脚本

/usr/local/bin/node /home/olmo/project/processDrivesMultiUser.js 

无论我在哪里,path都可以运行,但是如果我运行这样的cronjob:

 3,18,33,48, * * * * /usr/local/bin/node /home/olmo/project/processDrivesMultiUser.js 

我得到这个错误:

 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) 

不知何故,如果它通过cron运行,它不能find模块underscore 。 我做了我用来手动运行脚本的相同用户名的cron条目。

有任何想法吗?

我可以根据mu的评论find答案太短。

我修改了crontab以包含环境variablesNODE_PATH

 3,18,33,48, * * * * export NODE_PATH=/usr/local/lib/node_modules/ && /usr/local/bin/node /home/olmo/project/processDrivesMultiUser.js 

现在我可以在node.js使用模块(如果由cron调用的话)。