>

현재 우분투 서버에 NodeJS 서비스를 설치하고 있습니다. 응용 프로그램은 커피 스크립트로 작성되었으며 자체적으로 잘 실행됩니다. 이것이 프로젝트를 설정하는 방법입니다 :

cd ~/test-project
nvm use v4.9.1
npm install
pm2 start index.js

그러나 pm2를 사용하여 시작하려고하면 아래 오류가 발생합니다.

/usr/local/lib/node_modules/pm2/node_modules/needle/node_modules/debug/src/node.js:132
    let val = process.env[key];
    ^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    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> (/usr/local/lib/node_modules/pm2/node_modules/needle/node_modules/debug/src/index.js:9:19)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

몇 가지 테스트를 수행 한 후 pm2로 시작하는 스크립트에 관계없이이 오류가 발생하므로 올바르게 구성되지 않은 것이 있어야합니다 ..

중요한지 모르겠지만 실행하려는 스크립트에 노드 v4.9.1이 필요하므로 NVM을 사용하여 해당 버전을 사용하고 있습니다. 동일한 노드 버전으로 pm2를 실행하려고하는 것 같습니다. 어쩐지?

이것이 너무 오래 붙어서 어떤 입력이라도 대단히 감사합니다!

  • 답변 # 1

    'use strict';
    
    

    위 코드 줄을 스크립트 파일의 첫 줄에 추가하십시오. 와이즈 비즈  변수가 let 의 엄격 모드에서 지원되는 블록으로 범위를 지정하려는 경우에 사용됩니다. .

    자세한 내용은 설명서를 참조하십시오.

  • 답변 # 2

    @Vishnu Sing 전체 출력입니다. 와이즈 비즈  파일은 다음과 같습니다 :

    node v4
    
    
    index.js
    
    
    console.log('Hello World');

  • 이전 asp.net mvc - Azure에서 성공적으로 배포 한 후 오류
  • 다음 qt - qpainter - : setpen : 페인터가 활성화되지 않았습니다