Skip to content

Commit

Permalink
Fix some bug
Browse files Browse the repository at this point in the history
  • Loading branch information
Gemini321 committed Feb 28, 2024
1 parent a0619f6 commit 34cefef
Showing 1 changed file with 25 additions and 27 deletions.
52 changes: 25 additions & 27 deletions docs/introduction/environment.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,32 @@


## 软件安装
由于大部分同学都是使用 `Windows` 电脑进行开发,所以这里采用windows11系统进行演示。首先需要同学们下载并安装以下三种软件。由于 `Windows` 系统下 `docker` 的正常使用需要 `wsl` 环境,所以请同学们在安装 `docker` 之前先安装 `wsl`。(对于 `linux` 系统和 `mac` 系统的同学而言,只需要跳过 `wsl` 的安装即可)。
由于大部分同学都是使用 `Windows` 电脑进行开发,所以这里采用windows11系统进行演示。首先需要同学们下载并安装以下三种软件。由于 `Windows` 系统下 `docker` 的正常使用需要 `WSL` 环境,所以请同学们在安装 `docker` 之前先安装 `WSL`。(对于 `linux` 系统和 `mac` 系统的同学而言,只需要跳过 `WSL` 的安装即可)。

需要安装的软件如下:

- wsl
- WSL2
- docker
- git
- vscode

首先是WSL,WSL是Windows Subsystem for Linux的简称,它是微软在Windows操作系统上提供的一个功能,允许用户在Windows环境下运行Linux应用程序和命令行工具。简单来说,它让你可以在Windows系统中享受到Linux的强大功能。首先同学们需要打开 `控制面板-程序-启动或关闭 Windows 功能`,开启`容器``适用于 Linux 的 Windows 子系统``虚拟机平台`三个功能。
首先是WSL,WSL是Windows Subsystem for Linux的简称,它是微软在Windows操作系统上提供的一个功能,允许用户在Windows环境下运行Linux应用程序和命令行工具。简单来说,它让你可以在Windows系统中享受到Linux的强大功能。首先同学们需要打开 `控制面板-程序-启动或关闭 Windows 功能`,开启`容器`(Windows11特有)`适用于 Linux 的 Windows 子系统``虚拟机平台`三个功能。
![Windows系统功能开启](../images/systemconfigure.png)


同学们需要打开自己的终端命令行,在其中输入以下代码,等待其安装即可。
同学们需要打开自己的终端命令行,在其中输入以下代码,等待其安装即可。已安装 WSL 的同学请检查安装的 WSL 版本是否为2,使用 WSL1 的同学需自行将版本升级,或创建一个新的 WSL2 系统。
```shell
wsl -l -v # 列举所有可安装的 Linux 系统
wsl -l -v # 列举所有已安装的 Linux 系统
wsl --set-default-version 2 # 设置 WSL 默认版本号为2
wsl -d Ubuntu --install # 安装 Ubuntu 系统
```
![WSL安装示意](../images/wsl1.png)

然后是 docker 的安装(注意 windows 系统上 docker 安装的前置条件是 wsl2 已经安装好),Docker 可以将代码、运行所需的运行时、系统工具和库进行打包。这可以使得同学进行实验代码开发的环境和我们助教开发实验时一模一样,减少了同学们环境配置的繁琐操作。
同学们直接在[官方网站](https://www.docker.com/products/docker-desktop/)下载,并进行图形界面的安装即可.
然后是 docker 的安装(注意 Windows 系统上 docker 安装的前置条件是 WSL2 已经安装好),Docker 可以将代码、运行所需的运行时、系统工具和库进行打包。这可以使得同学进行实验代码开发的环境和我们助教开发实验时一模一样,减少了同学们环境配置的繁琐操作。同学们直接在[官方网站](https://www.docker.com/products/docker-desktop/)下载,并进行图形界面的安装即可。

其次是 git 的安装,git 是一个开源的分布式版本控制系统,用于有效地处理从小到大的项目版本管理。同学们直接在[官方网站](https://git-scm.com/downloads)下载,并进行图形界面的安装即可。

最后是vscode的安装,vscode是一款可以安装多种强大插件的开源代码编辑器,如果同学们选择vscode作为本次实验的代码编辑器,助教提前设计好的工作流将大幅提升你的开发效率。如果同学们选择其他代码编辑器将不能享受到这样的福利。vscode直接在[官方网站](https://code.visualstudio.com/)下载,并进行图形界面的安装即可.
最后是 vscode 的安装,vscode 是一款可以安装多种强大插件的开源代码编辑器,如果同学们选择 vscode 作为本次实验的代码编辑器,助教提前设计好的工作流将大幅提升你的开发效率。如果同学们选择其他代码编辑器将不能享受到这样的福利,需要自行探索相关功能。vscode 直接在[官方网站](https://code.visualstudio.com/)下载,并进行图形界面的安装即可

## (可选方案 1)dev containers 自动配置
同学们打开vscode之后需要点击下图红色三角形所示的按钮,进入到插件管理界面进行dev containers插件的安装。
Expand All @@ -43,7 +43,7 @@ systemctl start docker #启动 docker 服务
```
![确认 docker 服务成功启动](../images/checkdocker.jpg)

确保 docker 服务处于启动状态后,请点击 vscode 左下角的红色箭头所指的齿轮,然后再点击另外红色箭头所指的按钮打开command palette
确保 docker 服务处于启动状态后,请点击 vscode 左下角的红色箭头所指的齿轮,然后再点击另外红色箭头所指的按钮打开`Command Palette...`

<!-- 请打开[实验 github 仓库页面](https://github.com/yhgu2000/SYsU-lang),点击 `fork` 按钮,
Expand Down Expand Up @@ -102,16 +102,16 @@ systemctl start docker #启动 docker 服务

### 注意事项

1. 在配置Dev Container环境时,请勿在Windows/Mac Terminal环境下直接克隆仓库或使用网站下载仓库代码,并在 vscode 中选择`Dev Containers: Reopen in Container`选项进行搭建。这种做法会导致Dev Container和代码文件处于不同的操作系统中,在执行命令时产生巨大的性能开销。搭建Dev Container环境时建议使用如上文所述的`Dev Containers: Clone Repository in Container Volume`选项,让 vscode 帮助我们自动下载仓库代码并安装容器。
2. 在搭建Dev Container时若出现网络问题,请检查本机(包括WSL2)代理是否开启以及git代理是否配置,并尝试在打开/关闭代理后重新搭建。
1. 在配置 dev container 环境时,请勿在Windows/Mac Terminal环境下直接克隆仓库或使用网站下载仓库代码,并在 vscode 中选择`Dev Containers: Reopen in Container`选项进行搭建。这种做法会导致 dev container 和代码文件处于不同的操作系统中,在执行命令时产生巨大的性能开销。搭建 dev container 环境时建议使用如上文所述的`Dev Containers: Clone Repository in Container Volume`选项,让 vscode 帮助我们自动下载仓库代码并安装容器。
2. 在搭建 dev container时若出现网络问题,请检查本机(包括WSL2)代理是否开启以及git代理是否配置,并尝试在打开/关闭代理后重新搭建。

<!-- ![showlog](../images/envok.png) -->
## (可选方案 2)命令行手动配置
首先请同学们启动 vscode 软件,点击下图所示的按钮新建一个命令行窗口。

![新建命令行窗口](../images/openterminal.png)

如果同学们使用的是 windows 系统,在这里需要输入以下命令进入 wsl,如果使用的是 mac 系统或者是 Linux 系统可以直接进行后续步骤。
如果同学们使用的是 Windows 系统,在这里需要输入以下命令进入 WSL,如果使用的是 Mac 系统或者是 Linux 系统可以直接进行后续步骤。

```bash
wsl
Expand All @@ -125,11 +125,11 @@ systemctl start docker #启动 docker 服务

![确认 docker 服务成功启动](../images/checkdocker.jpg)

如果确认 docker 已经是运行状态则可以进行下一步操作。在命令行窗口输入以下命令进行ubuntu 镜像的拉取。
```
如果确认 docker 已经是运行状态则可以进行下一步操作。在命令行窗口输入以下命令进行 ubuntu 镜像的拉取。
```bash
docker pull ubuntu:22.04
```
出现以下输出字样则代表镜像拉取已经完成
出现以下输出字样则代表镜像拉取已经完成

![镜像拉取完成](../images/ubuntuimage.jpg)

Expand All @@ -142,18 +142,18 @@ git clone https://mirror.ghproxy.com/https://github.com/arcsysu/SYsU-lang2

请同学们输入以下代码进入实验代码文件夹,并且进行实验代码文件夹路径的输出查看。
```bash
cd SYsU-lang #进入文件夹
pwd #查看当前路径
cd SYsU-lang2 #进入文件夹
pwd #查看当前路径
```
![仓库拉取示意](../images/getloc.jpg)

在我此时的例子中,我的代码文件所在文件夹为`/home/zwshan/SYsU-lang`。有了这个文件路径之后就可以开始将前面拉取的镜像实例化为一个容器了。请大家在命令行输入如下命令,
```bash
docker run -it --name labdemo -v /home/zwshan/SYsU-lang:/workspace ubuntu:22.04
docker run -it --name labdemo -v /your/path/to/SYsU-lang2:/workspace ubuntu:22.04
# docker run是运行 Docker 容器的命令
# -it 是两个选项的结合。-i 表示交互式操作,允许用户与容器进行交互,-t 表示分配一个伪终端(pseudo-TTY)。这使得用户可以在容器内执行命令,并且能够与命令行进行交互。
# --name labdemo表示将运行的容器命名为 labdemo
# -v /home/zwshan/SYsU-lang:/workspace 代表将宿主机的 /home/zwshan/SYsU-lang 路径映射到 docker 容器内的 /workspace 路径
# -v /your/path/to/SYsU-lang2:/workspace 代表将宿主机的 /your/path/to/SYsU-lang2 路径映射到 docker 容器内的 /workspace 路径
```
当同学们在命令行看到`root@xx`等字样时意味着成功将镜像实例化为了容器,此时输入`cd workspace`即可成功进入实验代码文件夹。

Expand Down Expand Up @@ -181,22 +181,20 @@ apt-get install cmake # 一个开源的跨平台的构建工具,用于
apt-get install xz-utils # 一个解压软件
apt-get install g++ # 实验必需的编译器
apt-get install lld # 实验必需的链接器
apt-get install flex
apt-get install bison
apt-get install flex # 词法分析器构造工具
apt-get install bison # 语法分析器构造工具
```
在上述软件成功安装之后,请大家输入以下命令进行另外两个特殊软件的安装,两种软件在对应文件夹下都有助教提前写好的自动化安装脚本。首先是llvm软件
在上述软件成功安装之后,请大家输入以下命令进行另外两个特殊软件的安装,两种软件在对应文件夹下都有助教提前写好的自动化安装脚本。首先是 llvm 软件
```bash
cd /workspace/llvm
bash install.sh
cd /workspace/llvm && bash install.sh
```
成功安装后的界面如下图所示(图片待施工,开发机网络崩溃)

<!-- ![llvm成功安装(图片待施工,开发机网络崩溃)](../images/) -->

接下来是antlr 软件的安装,请大家在命令行输入如下命令。
接下来是 antlr 软件的安装,请大家在命令行输入如下命令。
```bash
cd /workspace/antlr
bash install.sh
cd /workspace/antlr && bash install.sh
```
成功安装后的界面如下图所示(图片待施工,开发机网络崩溃)

Expand Down

0 comments on commit 34cefef

Please sign in to comment.