如何在Ubuntu 16.04 LTS上安装dotnet SDK

时间:2018-02-10 01:04:07

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

我一直按照此处提供的说明操作: 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'netnet-sdk-2.1.4'的任何软件包   E:找不到任何正则表达式'dotnet-sdk-2.1.4'

的包

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

我做错了吗?

8 个答案:

答案 0 :(得分:13)

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

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

希望有所帮助!

答案 1 :(得分:4)

确保您还运行先决条件命令:

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] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

最后:

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

答案 2 :(得分:1)

好像设置apt repo的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

修复了ubuntu 18.04上的问题,但此处似乎是相同的问题。

答案 3 :(得分:0)

缺少更新:

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

答案 4 :(得分:0)

执行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

我不太确定它的实际作用,就像添加一个第三方证书颁发机构或类似的东西。无论如何,在重做sudo apt-get updatesudo apt-get install dotnet-sdk-2.1.4之后,最终可以安装该软件包而不会出现“找不到”错误。

答案 5 :(得分:0)

apt无法找到软件包的原因之一是它们不适用于您的处理器体系结构。 dotnet核心Linux库不支持32位PC(i386,i686),仅支持64位PC(amd64)。如果您碰巧安装了其他架构的Ubuntu,则apt-get将报告上述错误:

400

使用以下命令检查您当前的体系结构:

if (err.status === 400) {
       const error = err.error.message || err.statusText;
       return throwError(error);
}

如果此命令返回除amd64以外的其他任何内容,则可能是您不走运。除非您在64位PC上安装了32位PC Ubuntu映像。在这种情况下,请使用64位PC(AMD64)安装映像重新安装Ubuntu。

答案 6 :(得分:0)

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

我发现下面的这些写作链接非常有用和详尽 关于在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) .NET Core releases and versions of Ubuntu they are supported on.

答案 7 :(得分:0)

在 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(把版本号改成你想要的)