2017-02-26 12 views
0

sudoコマンドでノードアプリケーションを実行すると、Amazon EC2インスタンス(Ubuntu 16.04)でエラーが発生するようです。しかし、私がsudoなしでEC2インスタンス上で実行するたびに、正常に動作します。しかし私は私のローカルマシン(Mac Sierra OS)で実行すると、アプリが起動して正常に機能します。sudoでノードプロセスを実行すると構文エラーが発生する

リモートEC2インスタンスでsudoコマンドを使用した場合にのみ、誰かがSyntaxErrorがスローされる理由を知りたいのであれば、私は不思議です。

ローカルマシンとリモートマシンの両方でノード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) 

答えて

0

私の最善の策は、それがrootが広がり演算子をサポートしていないバージョンでは、実行可能な彼自身のNode.jsを持って、あなたのシステムになります。

sudo node --versionを実行して、実際にv.7.6.0であることを確認してください。

+0

私はノードのバージョンを維持するためにnvmを使用しているので、これは非常に可能性が高いと思います –

関連する問題