【发布时间】:2021-11-04 04:58:57
【问题描述】:
我正在尝试在 AWS lambda 中构建一个 Web 应用程序并将其上传到 S3 存储桶。为此,我使用子进程,它在本地运行良好。
exec('cd /tmp/ && npm ci && ng build --prod="true"', (error, stderr, stdout) => {
if (error) {
console.log(error);
return reject(error);
}
});
我也尝试使用 npm install 而不是 npm ci,但在所有情况下都失败并出现错误:
"npm ERR!errno -30", “npm ERR!rofs EROFS:只读文件系统,mkdir '/home/sbx_user1051'”, "npm ERR!rofs 经常虚拟化文件系统,或者其他文件系统", “npm ERR!不支持符号链接的rofs,给出这个错误。”, "npm ERR! 代码 EROFS", "npm ERR! syscall mkdir",
命令失败:cd /tmp/ && npm ci && ng build --prod="true"\nnpm ERR!代码 EROFS\nnpm 错误!系统调用 mkdir\nnpm 错误!路径 /home/sbx_user1051\nnpm 错误!错误号 -30\nnpm 错误! rofs EROFS: 只读文件系统,mkdir '/home/sbx_user1051'\nnpm ERR! rofs 经常虚拟化文件系统,或其他文件系统\nnpm ERR!不支持符号链接的 rofs,给出这个错误。\nnpm ERR!
我了解在 AWS Lambda 中只有 /tmp/ 目录是可写的。我只是不知道如何告诉 npm 在 /tmp 中运行。
有什么想法吗?
【问题讨论】:
标签: node.js amazon-web-services shell npm aws-lambda