Javascript 为什么在ubuntu服务器的nodejs中动态创建目录时出错?
我试图在public/data文件夹中创建目录以放置读取的数据,但在Javascript 为什么在ubuntu服务器的nodejs中动态创建目录时出错?,javascript,node.js,ubuntu,Javascript,Node.js,Ubuntu,我试图在public/data文件夹中创建目录以放置读取的数据,但在nodejs中动态创建目录时出现此错误 Error: ENOENT: no such file or directory, mkdir './public/data/folder' at Object.mkdirSync (fs.js:753:3) at /home/ubuntu/New/routes/index.js:589:14 at FSReqWrap.oncomplete (fs.js:141:2
nodejs
中动态创建目录时出现此错误
Error: ENOENT: no such file or directory, mkdir './public/data/folder'
at Object.mkdirSync (fs.js:753:3)
at /home/ubuntu/New/routes/index.js:589:14
at FSReqWrap.oncomplete (fs.js:141:20)
我通过检查文件夹是否存在并在不存在时使用mkdirsync()
这解决了问题,使用root权限运行npm 解决方案:
sudo npm install-g PACKAGE-NAME--unsafe perm=true--allow root
mkdirSync
接受选项属性recursive
(默认值为false)。
查看
因此,您可以使用:
fs.mkdirSync('/dir1/dir2', { recursive: true });
我认为您应该检查中间目录是否也存在,因为可能不存在public或public/data。请不要使用根权限。获取相同错误
enoint:没有这样的文件或目录,mkdir'/dir1/dir2'
,从生成运行。
fs.mkdirSync('/dir1/dir2', { recursive: true });