【问题标题】:Running node process with sudo throws a syntax error使用 sudo 运行节点进程会引发语法错误
【发布时间】:2017-02-26 12:59:07
【问题描述】:

每当我使用 sudo 命令运行我的节点应用程序时,它似乎都会在我的 Amazon EC2 实例 (Ubuntu 16.04) 上引发错误。但是,每当我在没有sudo 的情况下在 EC2 实例上运行它时,它都会正常运行。但是,我在本地机器(Mac Sierra OS)上运行它,应用程序启动并正常运行。

我很好奇是否有人知道为什么会抛出 SyntaxError,只有当我在远程 EC2 实例上使用 sudo 命令时。

我在本地和远程机器上都使用 node v.7.6.0 和 npm v. 4.1.2,同时使用 NVM 来管理两者的版本。由于语法错误与 ES2015 或 2016 语法有关,我不确定为什么我的本地机器能够正确解释它,而 Amazon EC2 实例(Ubuntu 16.04)却不能。

我收到的错误如下所示:

/var/www/mindmetrics/node_modules/twitter-crawler/lib/twitter-crawler.js:150
  api(method, ...params) {
              ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/var/www/mindmetrics/node_modules/twitter-crawler/index.js:20:18)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/var/www/mindmetrics/server/router/api.js:9:24)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at module.exports (/var/www/mindmetrics/server/router/index.js:6:20)

【问题讨论】:

    标签: node.js bash ubuntu syntax ecmascript-6


    【解决方案1】:

    我最好的选择是在您的系统上,root 有他自己的 node.js 可执行文件,其版本不支持扩展运算符。

    尝试运行 sudo node --version 并检查它是否确实是 v.7.6.0。

    【讨论】:

    • 我认为这很有可能,因为我使用 nvm 来维护节点的版本
    猜你喜欢
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多