16

每当我在我的 Mac (Yosemite) 上启动 VS Code 时,我会在 VS Code 中收到以下错误

错误:无法启动 Omnisharp,因为需要 Mono 版本 >=3.10.0

有任何想法吗?我使用自制软件安装了 dnvm,就像http://docs.asp.net/en/latest/getting-started/installing-on-mac.html上的文档一样

4

8 回答 8

15

为了让它工作,我必须使用“brew uninstall kmono”,然后是“brew uninstall mono”,然后是“brew update && brew install mono”

brew uninstall kmono
brew uninstall mono
brew update && brew install mono
于 2015-04-30T10:35:47.863 回答
5

如果您按照 asp.net 网站上的说明进行操作,那么您应该已经安装了 brew。如果你不这样做,你可以从这个网站安装它:http: //brew.sh

安装完成后,打开一个新终端并运行以下命令:

brew update && brew install mono

那么你应该很高兴。我自己也经历了同样的步骤。

于 2015-04-30T06:09:11.540 回答
4

好的,我想通了。我安装了单声道 4.01,但没有链接。我做了 brew update 并取消链接,但是当我尝试安装它时,它说它已安装但未链接。我运行了这个命令来链接它

brew link --overwrite mono

于 2015-05-01T05:09:19.263 回答
3

TLDR; brew update && brew unlink mono && brew install mono


收集这两个答案对于为我解决这个问题是必要的。

我确实从这里运行了@myke-bates 建议的脚本

在撰写本文时是:

#!/bin/sh -x

#This script removes Mono from an OS X System.  It must be run as root

rm -r /Library/Frameworks/Mono.framework

rm -r /Library/Receipts/MonoFramework-*

for dir in /usr/bin /usr/share/man/man1 /usr/share/man/man3 /usr/share/man/man5; do
   (cd ${dir};
    for i in `ls -al | grep /Library/Frameworks/Mono.framework/ | awk '{print $9}'`; do
      rm ${i}
    done);
done

正如@ky6yet 所建议的那样,我跑去brew-update && brew install mono被告知我必须先取消单声道的链接,所以实际上我必须运行

brew update && brew unlink mono && brew install mono

至少在我的情况下,不需要先运行脚本来删除单声道。

于 2015-04-30T10:03:45.167 回答
1

也许以前安装留下的旧单声道版本?我也遇到了这个问题,并确保按照本页底部提到的方法进行卸载 。重新运行 dnvm 的 brew install 并确保mono --version吐出 4.0.1

于 2015-04-30T05:26:08.920 回答
0

我只需要访问http://www.mono-project.com/download/并安装 Mono。

于 2015-05-01T01:06:22.530 回答
0

我有同样的问题。在 /Library/Frameworks/Mono.Framework/Versions 我有三个不同的单声道版本 2.10.9、3.12.1 和 4.0.0,其中 4.0.0 是“当前”。

然而,我的命令行路径上的单声道版本是 2.10.9。

$ which mono
/opt/local/bin/mono

对我来说,解决方法是删除我多年前在 Macports 中安装的单声道版本(Macports 的 bin 文件存储在 /opt/local/bin 中)。

$ sudo port uninstall mono
--->  Deactivating mono @2.10.9_0
--->  Cleaning mono
--->  Uninstalling mono @2.10.9_0
--->  Cleaning mono

在我的 Mac 上从 /usr/bin/mono 执行新的和“当前”单声道之后,Visual Studio Code 可以加载我的 sln 文件并使用 Omnisharp - 是的 :)

$ mono --version 
Mono JIT compiler version 4.0.0 ((detached/d136b79 Mon Apr 13 14:40:59 EDT 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           normal
    SIGSEGV:       altstack
    Notification:  kqueue
    Architecture:  x86
    Disabled:      none
    Misc:          softdebug 
    LLVM:          yes(3.6.0svn-mono-(detached/a173357)
    GC:            sgen
于 2015-04-30T10:57:33.997 回答
-1

首先,确保你已经安装了 brew ,如果没有看到:这里

或者

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后

brew update && brew install mono
于 2016-04-23T14:36:54.170 回答