gpt4 book ai didi

node.js - ENOENT,fs.mkdirSync 上没有这样的文件或目录

转载 作者:IT老高 更新时间:2023-10-28 23:02:54 26 4
gpt4 key购买 nike

我目前正在启动我的 NodeJS 应用程序,并且我有以下 if 语句:

Error: ENOENT, no such file or directory './realworks/objects/'
at Object.fs.mkdirSync (fs.js:654:18)
at Object.module.exports.StartScript (/home/nodeusr/huizenier.nl/realworks.js:294:7)

然而,奇怪的是该文件夹已经存在,但在以下代码段上检查失败:

if(fs.existsSync(objectPath)) {
var existingObjects = fs.readdirSync(objectPath);
existingObjects.forEach(function (objectFile) {
var object = JSON.parse(fs.readFileSync(objectPath+objectFile));
actualObjects[object.ObjectCode] = object;
});
}else{
fs.mkdirSync(objectPath); // << this is line 294
}

我不明白在创建目录时如何没有这样的文件或目录

最佳答案

当指定路径上的任何文件夹丢失时,mkdir 将抛出 ENOENT

有 2 种可能的解决方案(不使用 3rd 方包):

  • 为路径上每个不存在的目录递归调用 fs.mkdir
  • 使用 v10.12 中引入的 recursive 选项:
    fs.mkdir('./path/to/dir', {recursive: true}, err => {})

关于node.js - ENOENT,fs.mkdirSync 上没有这样的文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com