【问题标题】:Can't start Omnisharp because of mono version由于单声道版本,无法启动 Omnisharp
【发布时间】:2015-07-09 15:42:07
【问题描述】:

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

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

有什么想法吗?我使用自制软件安装了 dnvm,就像http://docs.asp.net/en/latest/getting-started/installing-on-mac.html 中的文档所说的那样

【问题讨论】:

标签: macos visual-studio-code


【解决方案1】:

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

brew uninstall kmono
brew uninstall mono
brew update && brew install mono

【讨论】:

  • 这对我有用。在我尝试通过 brew 直接从 pkg 文件取消链接和重新安装之前,但无济于事。 which mono 运行后输出从/Users/matt/.kre/packages/KRE-mono45-x86.1.0.0-alpha4-10353/bin/mono 变为/usr/local/bin/mono,此时问题已解决。
  • 刚刚将命令添加为代码,因此复制和粘贴更容易:)
【解决方案2】:

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

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

brew update && brew install mono

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

【讨论】:

    【解决方案3】:

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

    brew link --overwrite mono

    【讨论】:

      【解决方案4】:

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


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

      我确实从here 运行了@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

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

      【讨论】:

      • 我明白了:已经是最新的了。取消链接 /usr/local/Cellar/mono/4.0.1... 0 符号链接已删除 警告:mono-4.0.1 已安装,只是未链接。我如何“链接”它?
      • 嗯,尝试取消链接作为单独的操作,然后更新并安装? (总猜测:))
      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

        我遇到了同样的问题。 在 /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
        

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

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

            然后

            brew update && brew install mono
            

            【讨论】:

              猜你喜欢
              • 2021-06-05
              • 1970-01-01
              • 1970-01-01
              • 2022-07-26
              • 2019-05-20
              • 1970-01-01
              • 2014-08-10
              • 1970-01-01
              • 2015-02-15
              相关资源
              最近更新 更多