我试图在我的localzone中将节点模块npm-lazy作为服务运行。 如果我在命令行上运行启动命令它运行良好。我用它来运行它:
npm_lazy --config /etc/npm-lazy-config.js
但是如果想要将模块作为服务运行,它会不断收到此错误消息:
[ Apr 9 01:13:31 Executing start method ("/opt/local/bin/npm_lazy --config /etc/npm-lazy-config.js"). ]
path.js:336
var isAbsolute = path.charAt(0) === '/',
^
TypeError: Cannot call method 'charAt' of undefined
at Object.exports.normalize (path.js:336:27)
at Object.<anonymous> (/opt/local/lib/node_modules/npm_lazy/config.js:2:21)
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 Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/opt/local/lib/node_modules/npm_lazy/bin/npm_lazy:37:14)
at Module._compile (module.js:456:26)
[ Apr 9 01:13:32 Stopping because service exited with an error. ]
[ Apr 9 01:13:32 Executing start method ("/opt/local/bin/npm_lazy --config /etc/npm-lazy-config.js"). ]
我创建了具有多种功能的服务,我将所有目录添加到我创建的service.xml中的envvar部分中
echo $PATH
但似乎&#34;路径&#34;无法找到nodejs的依赖关系。 请帮忙。
答案 0 :(得分:0)
看起来npm_lazy假设将设置HOME环境变量,但它没有在SMF中设置。您可以通过将其添加到XML清单的envvar部分来设置它。