brefphp / bref

Serverless PHP on AWS Lambda
https://bref.sh
MIT License
3.06k stars 364 forks source link

Error: Cannot find module 'fast-xml-parser' #1750

Closed akubima closed 4 months ago

akubima commented 4 months ago

Description:

Hi, I tried to run the serverless deploy command from my local terminal but I got this kind of error and I don't know how to fix it.

@peppermint01 ➜ /workspaces/u92_evangeline-backend (dev) $ serverless deploy --stage=prod
/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/essentials/index.js:21
                throw reason;
                ^

Error: Cannot find module 'fast-xml-parser'

The same exception is also happening in github action execution. image

I have tried to install the fast-xml-parser manually trough npm, but the exception is still thrown. image image

How to reproduce:

/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/essentials/index.js:21
                throw reason;
                ^

Error: Cannot find module 'fast-xml-parser'
Require stack:
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/core/dist-cjs/index.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/client-cloudformation/dist-cjs/auth/httpAuthSchemeProvider.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/lib/monitoring/monitoring-integration-service.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/lib/plugin.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/index.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/lib/cli/handle-error.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/scripts/serverless.js
- /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/bin/serverless.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/core/dist-cjs/index.js:372:30)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/client-cloudformation/dist-cjs/auth/httpAuthSchemeProvider.js:4:16)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js:250:37)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/lib/monitoring/monitoring-integration-service.js:10:5)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/lib/plugin.js:26:38)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/index.js:5:18)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/lib/cli/handle-error.js:6:35)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/scripts/serverless.js:17:21)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at /usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/bin/serverless.js:73:7 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/core/dist-cjs/index.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/client-cloudformation/dist-cjs/auth/httpAuthSchemeProvider.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/lib/monitoring/monitoring-integration-service.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/lib/plugin.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/node_modules/@serverless/dashboard-plugin/index.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/lib/cli/handle-error.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/scripts/serverless.js',
    '/usr/local/share/nvm/versions/node/v20.11.1/lib/node_modules/serverless/bin/serverless.js'
  ]
}

Node.js v20.11.1
mnapoli commented 4 months ago

It was a regression in the AWS SDK used in Serverless Framework. That has been fixed in https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.529.1 so updating Serverless Framework should just do the trick (or maybe your build script installs the latest version automatically).

akubima commented 4 months ago

It was a regression in the AWS SDK used in Serverless Framework. That has been fixed in https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.529.1 so updating Serverless Framework should just do the trick (or maybe your build script installs the latest version automatically).

Thank you, it works now.