core⼊门1:linux上安装coresdk2.2(离线安装和yum仓库安装)
实验环境:
操作系统:最⼩化安装的centos7.6 x64
sdk:dotnet-sdk-2.2.401-linux-x64-binarie
说明:
linux上安装dotnetcore sdk有两种⽅式,⼀个是使⽤编译好的离线安装包,⼀个是使⽤微软提供的yum仓库。
⼀、使⽤离线sdk安装包安装sdk
1.1 下载 dotnet-sdk
1.2 安装依赖
输⼊命令:yum install libunwind libicu -y
[root@localhost ~]# yum install libwunwind libicu -y
已加载插件:fastestmirror
Determining fastest mirrors
* base: mirrors.aliyun
* extras: mirrors.huaweicloud
* updates: mirrors.aliyun
base                                                                                                                                                                  | 3.6 kB  00:00:00
extras                                                                                                                                                                | 3.4 kB  00:00:00
updates                                                                                                                                                              | 3.4 kB  00:00:00
(1/4): base/7/x86_64/group_gz                                                                                                                                        | 166 kB  00:00:00
(2/4): extras/7/x86_64/primary_db                                                                                                                                    | 215 kB  00:00:00
(3/4): base/7/x86_64/primary_db                                                                                                                                      | 6.0 MB  00:00:02
(4/4): updates/7/x86_64/primary_db                                                                                                                                    | 7.4 MB  00:00:11
没有可⽤软件包 libwunwind。
正在解决依赖关系
--> 正在检查事务
---> 软件包 libicu.x86_64.0.50.1.2-17.el7 将被安装
--> 解决依赖关系完成
依赖关系解决
========================================================================================================================== ===================================================================
Package                                    架构版本源⼤⼩
========================================================================================================================== ===================================================================
正在安装:
libicu                                      x86_64                                      50.1.2-17.el7                                      base                                      6.9 M
事务概要
========================================================================================================================== ===================================================================
安装  1 软件包
总下载量:6.9 M
安装⼤⼩:24 M
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/libicu-50.1.2-17.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY============= ========-      ] 4.3 MB/s | 6.2 MB  00:00:00 ETA
libicu-50.1.2-17.el7.x86_64.rpm 的公钥尚未安装
libicu-50.1.2-17.el7.x86_64.rpm                                                                                                                                      | 6.9 MB  00:00:00
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导⼊ GPG key 0xF4A80EB5:
⽤户ID    : "CentOS-7 Key (CentOS 7 Official Signing Key) <>"
指纹      : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
软件包    : centos-release-7-6.1810.s.x86_64 (@anaconda)
来⾃      : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装    : libicu-50.1.2-17.el7.x86_64                                                                                                                                              1/1
验证中      : libicu-50.1.2-17.el7.x86_64                                                                                                                                              1/1
已安装:
libicu.x86_64 0:50.1.2-17.el7
完毕!
[root@localhost ~]#
1.3 上传sdk包并解压到/usr/local/dotnet⽬录
1). 使⽤上传dotnet-sdk-2.2.到/usr/local⽬录
2). 创建/usr/local/dotnet⽬录并将sdk包解压到这个⽬录中:
[root@localhost local]# pwd
/usr/local
[root@localhost local]# ll
总⽤量 166220
drwxr-xr-x. 2 root root        6 4⽉  11 2018 bin
-rw-r--r--. 1 root root 170205501 8⽉  29 11:19 dotnet-sdk-2.2.
drwxr-xr-x. 2 root root        6 4⽉  11 2018 etc
drwxr-xr-x. 2 root root        6 4⽉  11 2018 games
drwxr-xr-x. 2 root root        6 4⽉  11 2018 include
drwxr-xr-x. 2 root root        6 4⽉  11 2018 lib
drwxr-xr-x. 2 root root        6 4⽉  11 2018 lib64
drwxr-xr-x. 2 root root        6 4⽉  11 2018 libexec
drwxr-xr-x. 2 root root        6 4⽉  11 2018 sbin
drwxr-xr-x. 5 root root        49 8⽉  29 11:25 share
drwxr-xr-x. 2 root root        6 4⽉  11 2018 src
[root@localhost local]# mkdir dotnet
[root@localhost local]# tar -zxf dotnet-sdk-2.2. -C dotnet
[root@localhost local]# cd dotnet
[root@localhost dotnet]# ll
总⽤量 136
-rwxr-xr-x. 1 1004 27 105872 6⽉  19 03:49 dotnet
drwxr-xr-x. 3 1004 27    17 7⽉  13 06:58 host
-rw-r--r--. 1 1004 27  1083 6⽉  19 03:
drwxr-xr-x. 3 1004 27    21 7⽉  13 06:58 sdk
drwxr-xr-x. 5 1004 27    99 7⽉  13 06:58 shared
-rw-r--r--. 1 1004 27  27700 6⽉  19 03:
[root@localhost dotnet]#
1.4 注意⽬录/usr/local/dotnet/sdk/NuGetFallbackFolder
你会发现,解压的结果中并没有这个⽬录。这⾥做⼀个观察,因为后⾯你会看到,⼀旦执⾏dotnet命令,即使是dotnet --version这个⽬录也会⽴马⽣成。
1.5 配置环境变量
在/etc/profile⽂件末尾加上两⾏:
export DOTNET_ROOT=/usr/local/dotnet
export PATH=$DOTNET_ROOT:$PATH
执⾏ source /etc/profile使改动⽣效:
[root@localhost dotnet]# source /etc/profile
1.6 验证dotnetcore环境:dotnet --version或dotnet --info
1.7 注意⽬录/usr/local/dotnet/sdk/NuGetFallbackFolder
可以看到这个⽬录已经⽣成了,但是⾥⾯是空的。因为这⾥存放的是编译需要的依赖库,所以现在我们执⾏命令dotnet restore将这些依赖缓存⼀下(报错提⽰不⽤管):
[root@localhost ~]# dotnet restore
<
sdk
--------------
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.
Decompressing 100% 5693 ms
Expanding 100% 20575 ms
MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.
[root@localhost ~]#
执⾏完后就会发现⾥⾯已经缓存了⼤量的依赖库:
1.8 推测dotnet安装⽬录结构(个⼈推测)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。