运行 pm2 记录错误 SyntaxError: Unexpected token

mos*_*toh 5 sockets serversocket node.js express socket.io

我想查看我的项目的日志

脚步 :

  1. 我克隆了一个套接字应用程序。然后我运行npm install pm2 -g安装 pm2

  2. 我跑pm2 start

有用。它显示我的套接字应用程序的表格

但是如果我运行pm2 logs查看日志,则存在如下错误:

1|mycompany | C:\PROGRAM FILES\NODEJS\NPM.CMD:1
1|mycompany | (function (exports, require, module, __filename, __dirname) { :: Created by npm, please don't edit manually.
1|mycompany |                                                               ^
1|mycompany |
1|mycompany | SyntaxError: Unexpected token :
1|mycompany |     at new Script (vm.js:79:7)
1|mycompany |     at createScript (vm.js:251:10)
1|mycompany |     at Object.runInThisContext (vm.js:303:10)
1|mycompany |     at Module._compile (internal/modules/cjs/loader.js:657:28)
1|mycompany |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
1|mycompany |     at Module.load (internal/modules/cjs/loader.js:599:32)
1|mycompany |     at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
1|mycompany |     at Function.Module._load (internal/modules/cjs/loader.js:530:3)
1|mycompany |     at C:\Users\Chelsea\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainer.js:295:23
1|mycompany |     at C:\Users\Chelsea\AppData\Roaming\npm\node_modules\pm2\node_modules\async\internal\once.js:12:16
Run Code Online (Sandbox Code Playgroud)

我试着跑npm install socket.io express --savenpm install jquery --save结果还是一样。上面存在错误

我怎么解决这个问题?`

更新

C:\PROGRAM FILES\NODEJS\NPM.CMD像这样 :

:: Created by npm, please don't edit manually.
@ECHO OFF

SETLOCAL

SET "NODE_EXE=%~dp0\node.exe"
IF NOT EXIST "%NODE_EXE%" (
  SET "NODE_EXE=node"
)

SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
  SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js"
)
IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" (
  SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%"
)

"%NODE_EXE%" "%NPM_CLI_JS%" %*
Run Code Online (Sandbox Code Playgroud)

Her*_*erb 4

正如您在错误消息中看到的:

1|mycompany | (function (exports, require, module, __filename, __dirname) { :: Created by npm, please don't edit manually.
Run Code Online (Sandbox Code Playgroud)

尝试删除文件中的:after 。{C:\PROGRAM FILES\NODEJS\NPM.CMD:1

更新: 我注意到 pm2 正在尝试将NPM.CMD文件作为 js 模块执行。将 Windows CMD 文件作为 js 模块运行是不可能的。git-bash如果您在 Windows 上安装了 Git,则可以尝试从类似 Linux 的终端运行 pm2 。

更新 您可以尝试其他人的答案