【发布时间】:2014-02-02 13:51:23
【问题描述】:
在 Ubuntu 上通过 FileUtils.symlink 'X', 'Y' 创建符号链接有效,而在 Windows 上发生以下错误:
C:/ruby/lib/ruby/2.0.0/fileutils.rb:349:in `symlink': symlink() function is unimplemented on this machine (NotImplementedError)
from C:/ruby/lib/ruby/2.0.0/fileutils.rb:349:in `block in ln_s'
from C:/ruby/lib/ruby/2.0.0/fileutils.rb:1567:in `fu_each_src_dest0'
from C:/ruby/lib/ruby/2.0.0/fileutils.rb:347:in `ln_s'
from C:/test/test.rb:7:in `<class:Test>'
from C:/test/test.rb:1:in `<main>'
作为一种解决方法,可以通过mklink 在 Windows 上创建符号链接,但我也想通过 Ruby 在 Windows 上创建符号链接。
【问题讨论】:
-
您是否阅读了错误symlink() function is unimplemented on this machine (NotImplementedError)。对于 Windows,它没有实现。
-
是的,但我希望有人知道通过 Ruby 的解决方法
-
你不想在这里使用变通方法,最好重构你的代码并避免在 windows 中使用符号链接。
-
@user21033168 我同意了..
-
另一种方法是创建一个对
mklink进行系统调用的方法,如果平台是window$,将使用该方法