Как установить dotnet SDK на Ubuntu 16.04 LTS

Я выполнял приведенные здесь инструкции: 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: Не удалось найти пакет с помощью regex 'dotnet-sdk-2.1.4'

Тем не менее, выполнение sudo apt search dotnet приводит к появлению пакета.

Я делаю что-то неправильно?

Ответ 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

Надеюсь, это поможет!

Ответ 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] 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

Ответ 3

Похоже, что пакет deb для настройки apt repo имеет некоторые проблемы. Как быстро исправить это после установки установочного пакета repo ms:

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

Обновление отсутствует:

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

Ответ 5

При выполнении 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 update и sudo apt-get install dotnet-sdk-2.1.4 пакет может быть наконец установлен без ошибок "не найден".

Ответ 6

Одна из причин, по которой apt не может найти пакеты, заключается в том, что они недоступны для вашей архитектуры процессора. Библиотеки Linux ядра dotnet не поддерживают 32-битный ПК (i386, i686), поддерживаются только 64-битные ПК (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, возможно, вам не повезло. Если только вы не установили 32-битный образ Ubuntu для ПК на 64-битный ПК. В таком случае переустановите Ubuntu, используя установочный образ 64-битного ПК (AMD64).