web-dev-qa-db-ja.com

予期しないトークン非同期()

コードがUbuntuおよびWindowsマシンで正常に機能し、Centosサーバーで失敗するため、奇妙な問題が発生しています。私は同じノードバージョン8.9.1と同じnpm5.5.1と同じ帆1.0.0.41(グローバルおよびローカル)を持っています。私が入手したCentosマシンを除いてすべてが機能します

const makeRequest = async () => {
                          ^
SyntaxError: Unexpected token (

最初の親を指す矢印が付いています。私が現在疑っている唯一のことは、私のNバージョン管理がノードを適切に更新していないということです。 node-vを実行すると8.9.1が報告されます。非同期コードの簡略化したカットを次に示します。

const makeRequest = async () => {
  try{
    const user = await sails.models.user.findOne({id: user_id});
    return Promise.resolve(user);
    }
  catch(error){
    sails.log.error('error getting data', error);
  }
}

return makeRequest().then(out => {
  return Promise.resolve(out);
});

このエラーを解決する方法について何か提案はありますか?

5
edencorbin

不足している}コード内。以下を確認してください

const makeRequest = async() => {
  try {
    const user = await sails.models.user.findOne({
      id: user_id
    });
    return Promise.resolve(user);
  } catch (error) {
    sails.log.error('error getting data', error);
  }
} // -> Its misssing in your code
return makeRequest().then(out => {
  return Promise.resolve(out);
});

編集済み

OPの対応

問題はバージョン管理でした。

node-vで8.9.1Sudo node-vで6.11

解決策は、(rootではなく)ユーザーのフォルダーをchownし、Sudoなしでアプリケーションを実行することでした。その後、NVMは正しく機能しました。私のコードにエラーがあったので、他の答えを受け入れます。

6
Vipin Kumar

問題はバージョン管理でした。

node -v私に8.9.1を与えましたSudo node -v私に6.11をくれた

解決策は、(rootではなく)ユーザーのフォルダーをchownし、Sudoなしでアプリケーションを実行することでした。その後、NVMは正しく機能しました。私のコードにエラーがあったので、他の答えを受け入れます。

6
edencorbin

同様の問題がありました、

また、npmインストールをSudoしようとしましたが、最初に以下のエラーが発生し、非同期の予期しないトークンエラーが発生しました。

npm WARN checkPermissions Missing write access to /home/mohanbabu/node_modules
npm WARN enoent ENOENT: no such file or directory, open '/home/mohanbabu/package.json'
npm WARN mohanbabu No description
npm WARN mohanbabu No repository field.
npm WARN mohanbabu No README data
npm WARN mohanbabu No license field.
npm ERR! path /home/mohanbabu/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/home/mohanbabu/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/home/mohanbabu/node_modules'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/home/mohanbabu/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/home/mohanbabu/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/mohanbabu/.npm/_logs/2019-10-13T16_51_12_932Z-debug.log

(async()=> {^ SyntaxError:Unexpected token(at createScript(vm.js:56:10)at Object.runInThisContext(vm.js:97:10)at Module._compile(module.js:549:28) Object.Module._extensions..js(module.js:586:10)at Module.load(module.js:494:32)at tryModuleLoad(module.js:453:12)at Function.Module._load(module .js:445:3)at Module.runMain(module.js:611:10)at run(bootstrap_node.js:394:7)at startup(bootstrap_node.js:160:9)

  1. package-lockを削除し、npm installを実行するのが修正です。(Sudoなし)
  2. ノードのバージョンを確認してください
  3. jsスクリプトを実行します(私のプロジェクトではnpm start)
0
MohanBabu