具有Compass的Express.js不适用于PM2

时间:2017-05-21 02:40:59

标签: node.js express compass-sass pm2 express-generator

我使用express-generator生成了一个带罗盘样式表引擎的项目:

express --css compass app

当我开始使用npm start(或node ./bin/www,fwiw)时,应用程序符合预期。

然而,当我使用pm2来运行应用程序时,作为pm2 start ./bin/www应用程序运行并返回一个html响应,但是当浏览器请求它时CSS失败,进程终止并且pm2重新启动它。这是一个返回502 Bad Gateway的nginx。

这些是pm2日志:

0|www      | GET /home 200 320.238 ms - 914
0|www      | Error: spawn compass ENOENT
0|www      |     at exports._errnoException (util.js:1050:11)
0|www      |     at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
0|www      |     at onErrorNT (internal/child_process.js:367:16)
0|www      |     at _combinedTickCallback (internal/process/next_tick.js:80:11)
0|www      |     at process._tickDomainCallback (internal/process/next_tick.js:128:9)
PM2        | App [www] with id [0] and pid [6624], exited with code [1] via signal [SIGINT]
PM2        | Starting execution sequence in -fork mode- for app name:www id:0
PM2        | App name:www id:0 online

我找不到有关为什么会发生这种情况的任何信息,以及为什么它与节点一起使用,而不是与pm2一起使用。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

Compass是需要安装的本机依赖项。

$ gem update --system
$ gem install compass

否则,我强烈建议,你应该编译罗盘样式表,不仅因为服务器上的命中率很高而且没必要。

相关:SO