问题描述
当我使用 sls offline start
运行它时,我的无服务器项目在本地运行良好,但是当我尝试使用 serverless deploy
通过命令行部署它时,我收到以下错误堆栈。
internal/modules/cjs/loader.js:1030
throw err;
^
Error: Cannot find module '/Users/rasikraj/Desktop/aws-social/--max-old-space-size=2048'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:1027:15)
at Function.Module._resolveFilename (pkg/prelude/bootstrap.js:1346:46)
at Function.Module._load (internal/modules/cjs/loader.js:896:27)
at Function.Module.runMain (pkg/prelude/bootstrap.js:1375:12)
at internal/main/run_main_module.js:17:47 {
code: 'MODULE_NOT_FOUND',requireStack: []
}
可能导致此问题的原因是什么,我该如何解决?
我正在使用 无服务器版本:
Framework Core: 2.19.0 (standalone)
Plugin: 4.4.2
SDK: 2.3.2
Components: 3.4.7
节点 v12.20.1
和打字稿
和这个样板 https://github.com/AnomalyInnovations/serverless-typescript-starter
解决方法
它对我有用:
1 - 使用 yarn 或 npm 将无服务器安装为 devDependency
yarn add serverless -D
2 - 再次运行部署命令
sls deploy
3 - 如果错误仍然存在,请查看您的包 json 并检查无服务器是否作为 devDependency。如果它是正常的依赖项,您可以将其移动到 devDependency
5 - 删除 node_modules 并运行命令:
yarn
或
npm install
,
正如消息所述,它正在“/Users/rasikraj/Desktop/aws-social/--max-old-space-size=2048”寻找一个模块。
该错误是有道理的,因为您在 --max-old-space-size=2048
目录中实际拥有名为 aws-social
的文件的几率非常低。
对我来说,文件名 --max-old-space-size=2048
看起来非常适合作为某些东西的命令行参数。