如果需要安装新版本到dotnetcore,需要先卸载旧版本(https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.1.1-download.md),使用dotnet --version查看当前版本后,执行卸载命令:

apt remove  2.0.0-preview1-005977

卸载完成以后,按照官网的提示:(https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/sdk-current)

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

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

然而并没有安装成功,提示:

下列软件包有未满足的依赖关系:
 dotnet-sdk-2.1 : 依赖: dotnet-runtime-2.1 (>= 2.1.1) 但是它将不会被安装
                  依赖: aspnetcore-runtime-2.1 (>= 2.1.1) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

碰到依赖问题,可以选择安装以下aptitude这个管理工具,aptitude和apt-get一样,是debian及其衍生系统中功能极其强大到包管理工具。与apt-get不同的是,aptitude在处理依赖问题上更佳一些,举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包,这样系统中不会残留无用的包,整个系统更为干净。执行安装命令:

apt-get install aptitude

安装完成以后,使用aptitude安装.netcore可以得到如下提示:

下列“新”软件包将被安装。
aspnetcore-runtime-2.1{a} dotnet-host{a} dotnet-hostfxr-2.1{a}
dotnet-runtime-2.1{a} dotnet-runtime-deps-2.1{ab} dotnet-sdk-2.1
0 个软件包被升级,新安装 6 个, 0 个将被删除, 同时 1 个将不升级。
需要获取 130 MB 的存档。 解包后将要使用 376 MB。
下列软件包存在未满足的依赖关系:
dotnet-runtime-deps-2.1 : 依赖: libicu55 which is a virtual package and is not provided by any available package

下列动作将解决这些依赖关系:

保持 下列软件包于其当前版本:
1) aspnetcore-runtime-2.1 [未安装的]
2) dotnet-runtime-2.1 [未安装的]
3) dotnet-runtime-deps-2.1 [未安装的]
4) dotnet-sdk-2.1 [未安装的]

 

是否接受该解决方案?[Y/n/q/?] Y

这下应该看到问题的症结所在了,之所以安装不了,是因为没有任何到源可以提供libicu55这个包,网上搜索了以下,在https://packages.ubuntu.com/zh-cn/xenial/amd64/libicu55/download这个网站上找到了,需要在 /etc/apt/sources.list中增加镜像源:deb http://security.ubuntu.com/ubuntu xenial-security main ,增加好以后,执行apt-get update命令,会更新好libicu55,最后执行sudo apt-get install dotnet-sdk-2.1 就能顺利安装好dotnetcore 2.1了。

This software may collect information about you and your use of the software, and send that to Microsoft.
Please visit http://aka.ms/dotnet-cli-eula for more information.
Welcome to .NET Core!
---------------------
Learn more about .NET Core: https://aka.ms/dotnet-docs
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs
Telemetry
---------
The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.

Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry

Configuring...
--------------
A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once.

看到这个,说明安装成功了

 

 

posted on 2018-07-04 17:56  二豆  阅读(826)  评论(0编辑  收藏  举报