Xamarin的F#互动垫无法找到单声道

时间:2015-09-27 09:50:25

标签: xamarin f# mono

在OSX上。

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

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

1 个答案:

答案 0 :(得分:7)

我有同样的问题并设法解决它如下: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上,单声道可执行文件位于“/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路径,所以我认为这是可以接受的。