使用 IdeaPad duet 来配置开发环境

IdeaPad duet 很好

我通常使用MacBook Pro 13英寸作为我的主要电脑,但是由于它有些重,不太方便携带,所以我一直想要一台备用机。恰好在思考这个问题的时候,我发现了这款商品Chromebook。我之前从未使用过Chromebook,但听说它可以运行Linux环境,所以我决定尝试购买一台。

image.png

這個問題

既然能够使用Linux,我特意搭建了一个简单的开发环境。
我特意保留了日志,所以如果遇到问题的人可以参考一下。

$ uname -a
Linux penguin 5.4.40-04224-g891a6cce2d44 #1 SMP PREEMPT Tue Jun 23 20:13:49 PDT 2020 aarch64 GNU/Linux

通过查看上述结果,我们可以看出,与x86不同的是,这台CPU的架构是ARM,这是重点。

AWS命令行接口版本2

参考:AWS CLI v2 现已提供适用于 Linux ARM 的版本。


$ curl -O 'https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 28.7M  100 28.7M    0     0  3687k      0  0:00:07  0:00:07 --:--:-- 3914k

$ unzip awscli-exe-linux-aarch64.zip
# 結果は省略

$ sudo ./aws/install
You can now run: /usr/local/bin/aws --version

$ aws --version
aws-cli/2.0.45 Python/3.7.3 Linux/5.4.40-04224-g891a6cce2d44 exe/aarch64.debian.10

谷歌云软件开发工具包

参考:适用于ARM架构的Google Cloud SDK。

提示:谷歌云软件开发工具包(SDK)的适用于ARM架构的版本。


$ sudo apt -y update && sudo apt -y upgrade 
Get:1 https://deb.debian.org/debian buster InRelease [122 kB]
Get:2 https://deb.debian.org/debian-security buster/updates InRelease [65.4 kB]
Ign:3 https://storage.googleapis.com/cros-packages/84 buster InRelease
Get:4 https://storage.googleapis.com/cros-packages/84 buster Release [3,119 B]
Get:5 https://storage.googleapis.com/cros-packages/84 buster Release.gpg [819 B]
Get:6 https://deb.debian.org/debian buster/main arm64 Packages [7,736 kB]
Get:7 https://storage.googleapis.com/cros-packages/84 buster/main arm64 Packages [16.1 kB]
Get:8 https://deb.debian.org/debian buster/main Translation-en [5,968 kB]
Get:9 https://deb.debian.org/debian-security buster/updates/main arm64 Packages [219 kB]                                                              
Get:10 https://deb.debian.org/debian-security buster/updates/main Translation-en [122 kB]                                                             
Fetched 14.3 MB in 12s (1,217 kB/s)                                                                                                                   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.
N: Repository 'https://deb.debian.org/debian buster InRelease' changed its 'Version' value from '10.4' to '10.5'
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:

$ sudo apt-get update && sudo apt-get install google-cloud-sdk
Hit:1 https://deb.debian.org/debian buster InRelease
Hit:2 https://deb.debian.org/debian-security buster/updates InRelease
Ign:3 https://storage.googleapis.com/cros-packages/84 buster InRelease
Get:4 https://packages.cloud.google.com/apt cloud-sdk InRelease [6,349 B]
Hit:5 https://storage.googleapis.com/cros-packages/84 buster Release
Get:6 https://packages.cloud.google.com/apt cloud-sdk/main arm64 Packages [76.3 kB]
Fetched 82.7 kB in 3s (32.8 kB/s) 
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  python3-crcmod
Suggested packages:
  google-cloud-sdk-app-engine-java google-cloud-sdk-app-engine-python google-cloud-sdk-pubsub-emulator google-cloud-sdk-bigtable-emulator
  google-cloud-sdk-datastore-emulator kubectl
The following NEW packages will be installed:
  google-cloud-sdk python3-crcmod
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 69.9 MB of archives.
After this operation, 399 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://packages.cloud.google.com/apt cloud-sdk/main arm64 google-cloud-sdk all 308.0.0-0 [69.9 MB]
Get:2 https://deb.debian.org/debian buster/main arm64 python3-crcmod arm64 1.7+dfsg-1+b1 [19.0 kB]
Fetched 69.9 MB in 16s (4,339 kB/s)                                                                                                                   
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package python3-crcmod.
(Reading database ... 33282 files and directories currently installed.)
Preparing to unpack .../python3-crcmod_1.7+dfsg-1+b1_arm64.deb ...
Unpacking python3-crcmod (1.7+dfsg-1+b1) ...
Selecting previously unselected package google-cloud-sdk.
Preparing to unpack .../google-cloud-sdk_308.0.0-0_all.deb ...
Unpacking google-cloud-sdk (308.0.0-0) ...
Setting up python3-crcmod (1.7+dfsg-1+b1) ...
Setting up google-cloud-sdk (308.0.0-0) ...
Processing triggers for man-db (2.8.5-2) ...

$ gcloud --version
Google Cloud SDK 308.0.0
alpha 2020.08.28
beta 2020.08.28
bq 2.0.60
core 2020.08.28
gsutil 4.53
kubectl 1.15.11

VSCode 微软视窗代码编辑器

很遗憾,VSCode官方还不支持ARM架构,所以必须使用社区版本。

image.png

你可以通过这个页面上的“发布页面”链接直接跳转到 GitHub。

截至目前(2020年9月2日),最新的发行版是30-Mar-20,但请将20-Jan-20下载到Linux文件夹中。

最开始,我尝试安装了30-Mar-20版本,但不知为何无法安装VSCode的插件。
由于出现了TypeScript的错误,所以我放弃了。

image.png

需要下载的是此页面下一页的code-oss_1.42.0-1579483079_arm64.deb。

只需要执行双击操作就能完成安装,其余的则是下载并获取.deb文件。


$ code-oss --version
1.42.0
e107e5c5bf3e22dc63884aa11a410d33f96daad2
arm64

Go语言

请在发布页面获取适用于 ARM 架构的下载链接。

下载 – Go 编程语言

image.png

这次我们从中选择 Arch 使用 ARMv8 的 go1.15.1.linux-arm64.tar.gz 文件。


$  wget https://golang.org/dl/go1.15.1.linux-arm64.tar.gz
--2020-09-02 22:17:04--  https://golang.org/dl/go1.15.1.linux-arm64.tar.gz
Resolving golang.org (golang.org)... 172.217.161.241, 2404:6800:400a:806::2011
Connecting to golang.org (golang.org)|172.217.161.241|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://dl.google.com/go/go1.15.1.linux-arm64.tar.gz [following]
--2020-09-02 22:17:06--  https://dl.google.com/go/go1.15.1.linux-arm64.tar.gz
Resolving dl.google.com (dl.google.com)... 172.217.26.110, 2404:6800:400a:807::200e
Connecting to dl.google.com (dl.google.com)|172.217.26.110|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 97722202 (93M) [application/octet-stream]
Saving to: ‘go1.15.1.linux-arm64.tar.gz’

go1.15.1.linux-arm64.tar.gz           100%[========================================================================>]  93.19M  3.26MB/s    in 24s     

2020-09-02 22:17:30 (3.93 MB/s) - ‘go1.15.1.linux-arm64.tar.gz’ saved [97722202/97722202]

$ sudo tar -C /usr/local/ -zxf go1.15.1.linux-arm64.tar.gz 

$ /usr/local/go/bin/go version
go version go1.15.1 linux/arm64

由于路径不通,需要在 ~/.bashrc 文件中添加内容,并重新启动终端。


$ cat .bashrc | grep PATH
export PATH=$PATH:/usr/local/go/bin

$ exec $SHELL -l 

$ go version
go version go1.15.1 linux/arm64
广告
将在 10 秒后关闭
bannerAds