В Windows исполняемые файлы для F # Interactive и F # Compiler называются fsi
и fsc
. На Mac с Mono они называются fsharpi
и fsharpc
. Это почему?
2 ответа
Эти имена - просто оболочки сценария Mono для fsi.exe
и fsc.exe
.
Это тот же исполняемый файл на основе CIL, заключенный в сценарий sh
для их выполнения через среду выполнения mono
. Если хотите, создайте несколько псевдонимов в выбранной оболочке.
/Library/Frameworks/Mono.framework/Versions/Current/Commands/fsharpc
#!/bin/sh
EXEC="exec "
if test x"$1" = x--debug; then
DEBUG=--debug
shift
fi
if test x"$1" = x--gdb; then
shift
EXEC="gdb --eval-command=run --args "
fi
if test x"$1" = x--valgrind; then
shift
EXEC="valgrind $VALGRIND_OPTIONS"
fi
# Beware this line must match the regular expression " (\/.*)\/fsi\.exe" when fsc.exe is fsi.exe.
# That's because the FSharp MonoDevelop addin looks inside the text of this script to determine the installation
# location of the default FSharp install in order to find the FSharp compiler binaries (see
# fsharpbinding/MonoDevelop.FSharpBinding/Services/CompilerLocationUtils.fs). That's a pretty unfortunate
# way of finding those binaries. And really should be changed.
$EXEC /Library/Frameworks/Mono.framework/Versions/5.16.0/bin/mono $DEBUG $MONO_OPTIONS /Library/Frameworks/Mono.framework/Versions/5.16.0/lib/mono/fsharp/fsc.exe --exename:$(basename "$0") "$@"
/Library/Frameworks/Mono.framework/Versions/Current/Commands/fsharpi
#!/bin/sh
EXEC="exec "
if test x"$1" = x--debug; then
DEBUG=--debug
shift
fi
if test x"$1" = x--gdb; then
shift
EXEC="gdb --eval-command=run --args "
fi
if test x"$1" = x--valgrind; then
shift
EXEC="valgrind $VALGRIND_OPTIONS"
fi
# Beware this line must match the regular expression " (\/.*)\/fsi\.exe" when fsi.exe is fsi.exe.
# That's because the FSharp MonoDevelop addin looks inside the text of this script to determine the installation
# location of the default FSharp install in order to find the FSharp compiler binaries (see
# fsharpbinding/MonoDevelop.FSharpBinding/Services/CompilerLocationUtils.fs). That's a pretty unfortunate
# way of finding those binaries. And really should be changed.
$EXEC /Library/Frameworks/Mono.framework/Versions/5.16.0/bin/mono $DEBUG $MONO_OPTIONS /Library/Frameworks/Mono.framework/Versions/5.16.0/lib/mono/fsharp/fsi.exe --exename:$(basename "$0") "$@"
В окне Терминал с оболочкой bash
:
sudo ln -s /Library/Frameworks/Mono.framework/Versions/Current/Commands/fsharpi /Library/Frameworks/Mono.framework/Versions/Current/Commands/fsi
Тогда fsi
должен работать. Если нет, убедитесь, что указанный выше каталог находится в вашем ПУТЬ: echo $PATH
Новые вопросы
macos
macOS (ранее известная как OS X или Mac OS X) - это операционная система для настольных ПК от Apple, установленная на компьютерах Macintosh. Используйте этот тег только в том случае, если ваш вопрос касается использования API-интерфейсов macOS или поведения, специфичного для macOS, а не потому, что вы запускаете свой код в macOS. Вопросы, связанные с использованием или устранением неполадок macOS, не относятся к теме и принадлежат сообществу «Спроси другое».