如何使用 Haskell 创建符号链接?

How to create symlink with Haskell?

如何使用 Haskell 创建符号链接?据我所知,directory 包没有提供这样做的方法。

创建符号 link 是不可移植的。例如,在 Windows is re­strict­ed1. Therefore it does not fit into directory providing "a basic set of operations for ma­nip­u­lat­ing files and directories in a portable way" 上创建符号 links(强调我的)。这会影响所有平台独立包。

平台特定包 unix provides that functionality in System.Posix.Files with createSymbolicLink 虽然:

import System.Posix.Files (createSymbolicLink)

main :: IO ()
main = createSymbolicLink "/opt/ghc/7.10.3" "/opt/ghc/active"

1:这也是unix-compat没有实现createSymbolicLink

的原因

directory-1.3.1 has

createFileLink :: FilePath -> FilePath -> IO ()

这应该甚至可以在 Windows 上工作——当然,只有在合适的文件系统上才能工作。