【问题标题】:How to install dotnet SDK on Ubuntu 16.04 LTS如何在 Ubuntu 16.04 LTS 上安装 dotnet SDK
【发布时间】:2018-07-20 20:03:43
【问题描述】:

我一直按照此处提供的说明进行操作: https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x

但是,当我尝试运行时,我不断收到错误“

sudo apt-get install dotnet-sdk-2.1.4

具体来说:

E: 无法定位软件包 dotnet-sdk-2.1.4
E: 通过 glob 'dotnet-sdk-2.1.4' 找不到任何包
E: 通过正则表达式 'dotnet-sdk-2.1.4' 找不到任何包

但是,执行sudo apt search dotnet 会导致显示包。

我做错了吗?

【问题讨论】:

标签: .net linux ubuntu .net-core apt-get


【解决方案1】:

尝试在您的终端上运行此命令:

wget -q packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

然后更新您的系统:

sudo apt-get update

最后,运行命令安装.NET

sudo apt-get install dotnet-sdk-2.1.4

希望有帮助!

【讨论】:

  • 看起来他们终于修好了包裹!
  • 我遵循命令,但出现此错误。正在读取包列表...完成构建依赖关系树正在读取状态信息...完成 E:无法找到包 dotnet-sdk-2.1.4 E:通过 glob 'dotnet-sdk-2.1.4' 找不到任何包 E : 通过正则表达式 'dotnet-sdk-2.1.4' 找不到任何包
  • 是的!几天来,我一直试图让这个在我的薄荷盒上工作,但我发现没有任何说明有效。 Ubuntu,没问题。薄荷?问题。然而,这奏效了。 (薄荷 18.3)你摇滚!
  • 在下面查看我的答案。您需要将 google dns 添加到您的 etc/rosolv.conf 文件以查看包
【解决方案2】:

确保您也在运行必备命令:

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg

sudo sh -c 'echo "deb [arch=amd64] @987654321@ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

最后:

sudo apt-get update
sudo apt-get install dotnet-sdk-2.1.4

【讨论】:

  • 对于其他人,在 Ubuntu 18.04 下,您需要运行此命令:sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic main" > /etc/apt/sources.list.d/dotnetdev.list' 并在更新软件包列表后,安装此软件包 sudo apt install dotnet-sdk-2.1
  • 它适用于 Ubuntu 18.04 和 dotnet-sdk-3.1 请注意,您对 dotnet-sdk-3.1 使用以下命令:sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-3.1
【解决方案3】:

似乎用于设置 apt 存储库的 deb 包有一些问题。作为安装 ms repo 安装包后的快速修复:

sudo cp \
  /etc/apt/sources.list.d/microsoft-prod.list.save \
  /etc/apt/sources.list.d/microsoft-prod.list

 sudo apt-get update
 sudo apt-get install dotnet-sdk-2.1

Fix 在 ubuntu 18.04 上工作,但在这里似乎是同样的问题。

【讨论】:

    【解决方案4】:

    apt 无法找到软件包的一个原因是它们不适用于您的处理器架构。 dotnet core Linux 库不支持 32 位 PC(i386、i686),仅支持 64 位 PC(amd64)。如果你碰巧安装了不同架构的 Ubuntu,apt-get 会报上述错误:

    Unable to locate package dotnet-sdk-2.2
    E: Couldn't find any package by glob 'dotnet-sdk-2.2'
    E: Couldn't find any package by regex 'dotnet-sdk-2.2'
    

    使用以下命令检查您当前的架构:

    arch
    

    如果返回的不是 amd64,那么你可能不走运。除非您在 64 位 PC 上安装了 32 位 PC Ubuntu 映像。如果是这种情况,请使用 64 位 PC (AMD64) 安装映像重新安装 Ubuntu。

    【讨论】:

      【解决方案5】:

      更新丢失:

      sudo apt-get update
      sudo apt-get install dotnet-sdk-2.1.4
      

      【讨论】:

        【解决方案6】:

        在执行sudo apt-get update 时,您可能会收到此错误:

        W: GPG error: https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF
        E: The repository 'https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod bionic InRelease' is not signed.
        N: Updating from such a repository can't be done securely, and is therefore disabled by default.
        N: See apt-secure(8) manpage for repository creation and user configuration details.
        

        请注意,它并不那么明显(它们都是相同的字体颜色,如果您不阅读打印到控制台输出的所有内容,很容易被忽略)。

        可以用这个命令修复:

        sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 6494C6D6997C215E
        

        我不太确定它实际上是做什么的,看起来像是添加了第 3 方证书颁发机构或类似的东西。无论如何,在重做sudo apt-get updatesudo apt-get install dotnet-sdk-2.1.4 之后,终于可以安装包而不会出现“找不到”错误。

        【讨论】:

          【解决方案7】:

          这个答案有点晚了,但我相信增值的行为永远不会晚。

          我发现下面的这些写作链接非常有用且详细 关于在 linux 上安装 ubuntu 并讨论 .NET Core 发行版和支持它们的 Ubuntu 版本已经足够详细了。

          INSTALL DOTNET CORE LINUX : HOW TO INSTALL .NET CORE ON UBUNTU

          它也有如何安装最新的 ubuntu 20.04 的链接。

          How to Install .NET core 3.1 on Ubuntu 20.04 LTS (Focal Fossa)

          【讨论】:

            【解决方案8】:

            在 WSL 16.04 上,我无法解析 Microsoft 或 debian 服务器位置。以下是我采取的步骤:

            cd /etc/

            sudo chmod 777 resolv.conf

            cat resolv.conf(如果 Google dns 没有 8.8.8.8 则按照下一行)

            echo "nameserver 8.8.8.8" >> resolv.conf

            sudo wget http://ftp.us.debian.org/debian/pool/main/i/icu/libicu57_57.1-6+deb9u4_amd64.deb

            sudo dpkg -i libicu57_57.1-6+deb9u4_amd64.deb

            sudo apt install dotnet-sdk-3.1(把版本号改成你想要的)

            【讨论】:

              猜你喜欢
              • 2016-12-22
              • 2017-06-26
              • 1970-01-01
              • 2018-11-16
              • 1970-01-01
              • 2017-11-07
              • 1970-01-01
              • 2016-08-21
              • 1970-01-01
              相关资源
              最近更新 更多