【问题标题】:Xamarin's F# interactive pad cannot find monoXamarin 的 F# 交互板找不到单声道
【发布时间】:2015-09-27 09:50:25
【问题描述】:

在 OSX 上。

当我打开 pad 时,我收到以下错误消息:/Library/Frameworks/Mono.framework/Versions/4.0.4/bin/fsharpi: line 24: exec: mono: not found

但是我可以构建和运行 F# 程序,所以 Xamarin 显然确实找到了单声道。

【问题讨论】:

  • 你能从终端运行“fsharpi”或“mono”吗?在我的系统上,这两个可以通过 /usr/bin 的符号链接获得。我认为 /usr/bin 在你的路径中;也许由于某种原因,没有创建符号链接。
  • 是的,我可以从终端运行这两个命令。

标签: xamarin f# mono


【解决方案1】:

我遇到了同样的问题并设法解决了如下问题:fsharpi 是一个 shell 脚本;它在第 24 行失败:

$EXEC mono $DEBUG $MONO_OPTIONS /Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono/4.5/fsi.exe --exename:$(basename "$0") "$@"

显然,当 Xamarin 启动 fsharpi 时,它找不到单声道可执行文件,即使显然 $PATH 变量已正确设置并且 fsharpi 可以从终端启动。 在我的 Mac 上,mono 可执行文件位于“/Library/Frameworks/Mono.framework/Commands/mono”,所以我的解决方法是用以下内容替换该行:

MONO="/Library/Frameworks/Mono.framework/Commands/mono"
$EXEC $MONO $DEBUG $MONO_OPTIONS /Library/Frameworks/Mono.framework/Versions/4.0.4/lib/mono/4.5/fsi.exe --exename:$(basename "$0") "$@"

这不是最优雅的解决方案,但脚本中已经有 fsi.exe 路径硬编码,所以我认为可以接受。

【讨论】:

  • 谢谢,解决了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多