Macos SML在OS X El Capitan上未检测到操作系统

Macos SML在OS X El Capitan上未检测到操作系统,macos,sml,osx-elcapitan,Macos,Sml,Osx Elcapitan,我试图在OS X El Capitan(目前为PB 6)上安装SML 不幸的是,终端中的命令sml给出了以下错误消息: sml: unable to determine architecture/operating system 我曾经 并更改了\u arch-n-opsys文件,以便它能够识别El Capitan: i386) ARCH=x86; case `uname -r` in 9*) OPSYS=darwin; HEAP_OPSYS=darwin ;; # MacOS X

我试图在OS X El Capitan(目前为PB 6)上安装SML

不幸的是,终端中的命令sml给出了以下错误消息:

sml: unable to determine architecture/operating system
我曾经

并更改了
\u arch-n-opsys
文件,以便它能够识别El Capitan:

  i386) ARCH=x86;
case `uname -r` in
  9*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.5 Leopard
  10*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.6 Snow Leopard
  11*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.7 Lion
  12*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.8 Mountain Lion
  13*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.9 Mavericks
  14*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.10 Yosemite
  15*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan
  *) exit 1;;
esc;;
但我仍然收到相同的错误消息:

sml: unable to determine architecture/operating system

你知道怎么解决这个问题吗

您说过您更改了
\u arch-n-opsys
。你是说
.arch-n-opsys
,对吗?您是否安装了多个版本的
sml
?如果是这样,请从命令行运行
哪个sml
,并确保正在编辑的
.arch-n-opsys
文件位于同一目录中。作为最后(但不可移动)手段,您应该能够替换

*) exit 1;;


您需要首先使用
brew update
将brew更新至最新版本


然后用
brew删除smlnj
brew安装smlnj
brew升级smlnj
重新安装
smlnj

在我的SML版本中,这个文件实际上被称为
\u arch-n-opsys
。。它位于
/usr/local/smlnj/config
中。此外,
哪个sml
给了我
/usr/local/smlnj/bin/sml
,所以我认为目录应该是正确的。此外,我只安装了一个SML版本(110.78,最新版本)。替换
*)出口1与您的线路也没有帮助..所以我认为您的
/usr/local/smlnj/bin/sml
目录中没有
.arch-n-opsys
文件?如果打开
sml
文件,您会发现类似于
ARCH\u N\u OPSYS=“$BIN\u DIR/.ARCH-N-OPSYS”
的内容。这是您的
sml
文件正在使用的配置文件,我只想验证我们是否修改了正确的配置文件。我认为最好的方法是向您显示一个屏幕截图:。屏幕截图显示了
/usr/local
的内容。我已经编辑了用蓝色标记的文件。好的,我找到了!这实际上是一个错误的文件,用于查找以开头的arch-n-opsys。而不是使用z,我必须启用隐藏文件可见。谢谢你的帮助!:)老兄,我有点震惊OP没有投票并接受,因为它显然为他解决了问题。。。这肯定救了我的命!
*) OPSYS=darwin;  HEAP_OPSYS=darwin ;; # MacOS X 10.11 El Capitan