vfs: recursive mkdir returns backing-directory path for RealFSProvider
@trivikr 已經在處理了。
開始於 2026年9月23日。
評估
這個 Issue 還沒有評估資料。
描述
Version
main
Platform
All
Subsystem
vfs
What steps will reproduce the bug?
import { mkdtempSync, mkdirSync, existsSync } from 'node:fs';
import { tmpdir } from 'node:os';
import { join } from 'node:path';
import { create, RealFSProvider } from 'node:vfs';
const root = mkdtempSync(join(tmpdir(), 'vfs-'));
const myVfs = create(new RealFSProvider(root));
const mountPoint = myVfs.mount();
const asked = join(mountPoint, 'a/b');
const created = mkdirSync(asked, { recursive: true });
console.log('created:', created);
console.log('existsSync(created):', existsSync(created));
console.log('existsSync(asked):', existsSync(asked));
How often does it reproduce? Is there a required condition?
Always
What is the expected behavior? Why is that the expected behavior?
created should be <mountPoint>/a and pass fs.existsSync()
What do you see instead?
created: /dev/null/vfs/0/var/folders/42/54jl1_3x4hz06cf7bc_kzd4h0000gn/T/vfs-MMktQW/a
existsSync(created): false
existsSync(asked): true
created is <mountPoint>/<backing-root>/a — the absolute backing-directory path leaks through — and fs.existsSync(created) is false
Additional information
No response
- 主要語言
- JavaScript
- 星號
- 122k
- 分支
- 37.4k
- 平均合併
- 4 天 2 小時
- 30 天內合併 PR
- 277
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
nodejs/node 的其他 Issue
-
doc
難度 2/5 1-3 小時 新手友好度 65/100
-
build
難度 1/5 1 小時以內 新手友好度 88/100
-
難度 2/5 1-3 小時 新手友好度 84/100
-
難度 1/5 1 小時以內 新手友好度 90/100
-
feature request
難度 2/5 1-3 小時 新手友好度 68/100
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 70/100
-
難度 2/5 1-3 小時 新手友好度 75/100
mksglu/context-mode#1200 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
neondatabase/website#5944 ·
-
module: core
難度 2/5 1-3 小時 新手友好度 75/100
bigbluebutton/bigbluebutton#25849 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
jaegertracing/jaeger-ui#4506 ·