Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Servo 的环境搭建 #5

Open
anjia opened this issue Aug 14, 2018 · 1 comment
Open

Servo 的环境搭建 #5

anjia opened this issue Aug 14, 2018 · 1 comment

Comments

@anjia
Copy link
Owner

anjia commented Aug 14, 2018

需要安装的软件

以 MAC 为例:

  1. Homebrew
    • 一个软件包管理工具,让 Mac 上安装软件变得方便
    • 它是将软件安装到自己的目录,然后再软链到 /usr/local
  2. Python 和 pip
    • 若是用 brew install python 安装的 python,则会自动安装 pip
    • pip 是 Python 的包管理工具
    • 版本的灵活选用,非常方便
      • python --version 是电脑里默认的 python 版本
      • python3 --version 则是直接调用 python3
      • pip3 --version 则是直接调用与 python3 匹配的包管理 pip
  3. Rust 和 Cargo
    • 安装 rustup,它是 Rust 语言的 installer
    • rustup 会自动安装 Rust 和 Cargo
    • Cargo 是 Rust 的包管理(非常方便且强大的工具,类似 npm 于 node)
  4. 安装其它依赖,详见 https://github.com/servo/servo#other-dependencies
    • brew install automake pkg-config python cmake yasm
    • pip3 install virtualenv,或者需要加选项 --user
  5. 构建 Servo,详见 https://github.com/servo/servo#building
    • ./mach build --dev 0:38:02
    • ./mach build --release 0:42:16

virtualenv 能创建一个隔绝的 python 环境(新的文件夹),里面包含所有必要的可执行文件,诸如对应的 Python 和 pip 等。

e.g.

# 1. 安装 homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 2. 安装 Python 和 pip
brew install python # Homebrew 会安装 pip3, pip3 是 Homebrew 版 Python 3 的 pip 的别名
python3 --version # Python 3.5.2
pip3 --version    # pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

# 4. 安装 virtualenv
pip3 install virtualenv
virtualenv --version # 16.0.0

# 安装 proxychains-ng
brew install proxychains-ng # pywb 要用代理模式 
# run with proxychains4, 

e.g. Python

python   # 将打开 python 解释器
python2  # python2 解释器
python3  # python3 解释器
python --version
python3 --version

e.g. virtualenv

virtualenv -p python3 venv  # 指定python的版本,用virtualenv创建一个虚拟环境,虚拟环境的名字是“venv”,会创建一个文件夹,包含了python的可执行文件+pip库的拷贝,这样就随便安装其它包了)
source venv/bin/activate # 激活虚拟环境
pip3 install git+https://github.com/ikreymer/pywb.git

# 4.1 为工程创建一个虚拟环境
cd my_project_folder
virtualenv my_project # 会在当前的目录中创建一个文件夹
# 包含了Python可执行文件,以及 pip 库的一份拷贝,这样就能安装其他包了。
# 虚拟环境的名字(my_project)可以是任意的,若省略则会将文件均放在当前目录
# or
virtualenv -p /usr/bin/python2.7 my_project  # 指定python解释器

# 4.2 开始使用虚拟环境,需要先被激活
source my_project/bin/activate

# 4.3 停用虚拟环境,如果您在虚拟环境中暂时完成了工作
$ deactivate # 这将会回到系统默认的Python解释器,包括已安装的库也会回到默认的。
rm -rf my_project # 要删除一个虚拟环境,只需删除它的文件夹

# 然后过了一段时间,你可能会有很多个虚拟环境散落在系统各处,有可能已经忘了它们的名字/位置
# 还有其它工具,方便你管理虚拟环境。略。

e.g. Rust 的 Hello world

## cargo 和 rust 语言及其编译器 rustc 本身的各种特性紧密结合
## 基本上 rust 开发管理中所需的手段,cargo 都有

$ cargo new hello_world --bin
# 使用 cargo new 在当前目录下新建了基于 cargo 管理的 rust 项目
# 项目名称为 hello_world
# --bin 表示该项目将生成可执行文件

$ cd hello_world
$ tree .  # 瞄眼目录结构

$ cargo build # cargo 自动构建好全部
$ cargo run  # 运行

$ cargo clean  # 清理 target 文件夹
$ cargo update # 根据 toml 描述文件重新检索并更新各种依赖项的信息,并写入 lock 文件
$ cargo install  # 实际的生产部署


## 两个核心文件:
## cargo.homl 项目数据描述文件,直接面向rust开发人员,决定了项目如何构建、测试、运行
## cargo.lock 项目依赖详细清单文件,一般不管
This was referenced Aug 15, 2018
@anjia
Copy link
Owner Author

anjia commented Aug 15, 2018

servo-warc-tests #6

@anjia anjia changed the title 如何搭建 Servo 环境 Servo 的环境搭建 Aug 17, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant