Node.js 错误:EROFS - 只读文件系统,mkdir

问题描述 投票:0回答:1

我在 cyclic.sh 上运行 Node.js 应用程序,当我尝试部署我的代码时出现以下错误:

Exited with code: 226
npm ERR! code EROFS
npm ERR! syscall mkdir
npm ERR! path /home/sbx_user1051
npm ERR! errno -30
npm ERR! rofs EROFS: read-only file system, mkdir '/home/sbx_user1051'
npm ERR! rofs Often virtualized file systems, or other file systems that don't support symlinks, give this error.

我不确定是什么原因导致此错误以及如何修复它。我在网上查了一下,发现这个错误通常发生在文件系统是只读的或不支持符号链接时。

此文档页面建议使用 Cyclic S3fs 替代 Node.js fs 来访问 AWS S3 存储桶来代替本地文件系统进行文件存储。

但是,我使用的托管平台不允许我访问终端,所以我不能直接执行任何命令或进行任何更改。

任何人都可以提供有关如何解决此问题的指导吗?有没有我可以尝试的替代解决方案?

提前感谢您的帮助!

node.js deployment serverless
1个回答
0
投票

由于错误表明您正试图在只读文件系统上写入。当 Lambda 确实运行时,他们只有对

/tmp/
目录的读+写访问权限,也就是 临时存储.

正如您从 文档链接 中指出的那样,您有以下部分:

如果您在处理文件时遇到 EROFS 错误,一种解决方案是写入位于 /tmp 目录中的文件。但是,不要将 /tmp 用于永久存储,因为它经常被擦除。

所以在这里提供你正在做的事情或者检查它并尝试了解你试图在用户的文件系统中写入内容的位置

sbx_user1051

© www.soinside.com 2019 - 2024. All rights reserved.