【问题标题】:Unable to use File.tempfile in crystal lang - undefined reference to `*Crystal::System::Dir::tempdir:String'无法在水晶语言中使用 File.tempfile - 未定义对 `*Crystal::System::Dir::tempdir:String' 的引用
【发布时间】:2020-06-07 02:21:00
【问题描述】:

我正在尝试使用以下代码创建一个临时文件

tmp_file = File.tempfile("upload")

但无法编译,出现以下错误

D-ir.o: In function `tempdir':
/usr/share/crystal/src/dir.cr:168: undefined reference to `*Crystal::System::Dir::tempdir:String'
collect2: error: ld returned 1 exit status

请帮我解决。

更新 1

这发生在 v -

Crystal 0.33.0 [612825a53] (2020-02-14)

LLVM: 8.0.0

Default target: x86_64-unknown-linux-gnu

【问题讨论】:

  • 我无法重现此错误。可能是缓存问题。尝试删除 Crystal 的缓存目录:rm -rf $(crystal env CRYSTAL_CACHE_DIR).
  • 也无法重现(Arch Linux,Crystal 0.33.0)。您是否在更大的程序中遇到错误,或者您可以使用只有那一行的文件进行重现?
  • 不确定发生了什么,但它会自动开始工作。谢谢大家。

标签: crystal-lang temp


【解决方案1】:

由于其他人无法复制它并且它已自动为我修复 - 我正在回答这个问题。

我已经尝试过多次编译但没有成功,所以我已经注释掉了这段代码并继续进行其他更改。今天我在看到一些 cmets 后再次尝试,它已修复。我真的不确定发生了什么。

如果您遇到这种情况 - 请重新启动您的计算机。

希望这对其他人有所帮助。

【讨论】:

  • 可能是 Dir-o.o 文件损坏或类似的奇怪的东西......
猜你喜欢
  • 2019-07-05
  • 2011-11-06
  • 1970-01-01
  • 2015-04-09
  • 2017-02-25
  • 2021-05-16
  • 2013-08-14
  • 2013-10-19
  • 1970-01-01
相关资源
最近更新 更多