0

我正在尝试在 Linode (Ubuntu 12.04) 上部署节点应用程序,同时遵循 Node Knockout 的本指南:http: //blog.nodeknockout.com/post/9300619913/countdown-to-ko-14-deploying-your-node- js-app-to

我以 root 身份运行服务器没有问题,但是当尝试以“部署”用户身份使用 启动服务器时sudo start node,我收到此错误:

   /home/deploy/app/source/node_modules/bcrypt/node_modules/bindings/bindings.js:79
            throw e
                  ^
    Error: Module version mismatch. Expected 11, got 1.
        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 bindings (/home/deploy/app/source/node_modules/bcrypt/node_modules/bindings/$
        at Object.<anonymous> (/home/deploy/app/source/node_modules/bcrypt/bcrypt.js:1:$
        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)

我曾尝试使用make cleanthen重新编译 bcrypt,make因为我认为我的模块版本与我的节点版本(v0.8.18)不兼容,但情况似乎并非如此,因为我可以毫无问题地以 root 身份启动服务器。我觉得问题在于我如何设置部署用户,但我不确定如何继续。

4

0 回答 0