创建损坏的符号链接

Posted

技术标签:

【中文标题】创建损坏的符号链接【英文标题】:Creating Broken Symlink 【发布时间】:2015-07-30 07:01:54 【问题描述】:

为什么这会创建一个损坏的符号链接?

var fs = require("fs")
fs.symlinkSync("./file.txt", "./empty-dir/symlink.txt", "file")

我可以通过 Finder 或fs.readdir 在目录中看到该文件,但无法读取或打开该文件。

无法完成操作,因为找不到“symlink.txt”的原始项。

如果重要的话,我正在运行 io.js v2.2.1 v2.5.0

【问题讨论】:

【参考方案1】:

拥有文件的绝对路径可以解决问题。

var fs = require("fs")
var path = require("path")

fs.symlinkSync(path.resolve("./file.txt"), path.resolve("./empty-dir/symlink.txt"), "file")

【讨论】:

【参考方案2】:

./file.txt 相对于 ./empty-dir/symlink.txt

尝试使用真实路径:

fs.symlinkSync(fs.realpathSync("./file.txt"), "./empty-dir/symlink.txt", "file")

【讨论】:

您为什么使用fs.realpathSync() 而不仅仅是path.resolve()

以上是关于创建损坏的符号链接的主要内容,如果未能解决你的问题,请参考以下文章

WSL2 - 仅在 \\wsl$\ 挂载点从 Windows 访问时,Linux 相关符号链接损坏 [关闭]

如何通过覆盖现有符号链接来强制创建符号链接?

如何创建符号链接或硬链接到另一个符号链接?

windows创建符号链接命令

windows创建符号链接命令

windows创建符号链接命令