11# Devbox 📦
22
3- ### 即时、简单、可预测地创建Shell与Container
3+ ### 即时、简单、可预测地创建 Shell 与 Container
44
5- [ ![ Join Discord] ( https://img.shields.io/discord/903306922852245526?color=7389D8&label=discord&logo=discord&logoColor=ffffff )] ( https://discord.gg/jetify ) ![ License: Apache 2.0] ( https://img.shields.io/github/license/jetify-com/devbox ) [ ![ version] ( https://img.shields.io/github/v/release/jetify-com/devbox?color=green&label=version&sort=semver )] ( https://github.com/jetify-com/devbox/releases ) [ ![ tests] ( https://github.com/jetify-com/devbox/actions/workflows/tests.yaml /badge.svg )] ( https://github.com/jetify-com/devbox/actions/workflows/tests.yaml )
5+ [ ![ Join Discord] ( https://img.shields.io/discord/903306922852245526?color=7389D8&label=discord&logo=discord&logoColor=ffffff )] ( https://discord.gg/jetify ) ![ License: Apache 2.0] ( https://img.shields.io/github/license/jetify-com/devbox ) [ ![ version] ( https://img.shields.io/github/v/release/jetify-com/devbox?color=green&label=version&sort=semver )] ( https://github.com/jetify-com/devbox/releases ) [ ![ tests] ( https://github.com/jetify-com/devbox/actions/workflows/cli-post-release.yml /badge.svg )] ( https://github.com/jetify-com/devbox/actions/workflows/cli-release.yml?branch=main ) [ ![ Built with Devbox ] ( https://www.jetify.com/img/devbox/shield_galaxy.svg )] ( https://www.jetify.com/devbox/docs/contributor-quickstart/ )
66
77---
88
99## 它是什么?
1010
11- Devbox是一个可以让你轻松地创建隔离环境的shell与container的命令行工具 。首先定义你开发环境中所需的软件包列表,随后Devbox使用该定义来为你的应用程序创建一个隔离的环境 。
11+ [ Devbox ] ( https://www.jetify.com/devbox/ ) 是一个可以让你轻松地创建隔离环境的 shell 与 container 的命令行工具 。首先定义你开发环境中所需的软件包列表,随后 Devbox 使用该定义来为你的应用程序创建一个隔离的环境 。
1212
13- 在实践中,Devbox的工作方式类似于像 ` yarn ` 这样的软件包管理器-- 只不过它所管理的软件包是操作系统级别的。(这些包你通常会通过` brew ` 和 ` apt-get ` 来进行安装)。
13+ 在实践中,Devbox 的工作方式类似于像 ` yarn ` 这样的软件包管理器—— 只不过它所管理的软件包是操作系统级别的。(这些包你通常会通过 ` brew ` 和 ` apt-get ` 来进行安装)。使用 Devbox,你可以从 Nix 软件包注册表中安装超过 [ 400,000 个软件包版本 ] ( (https://www.nixhub.io) ) 。
1414
15- Devbox最初由[ Jetify] ( https://www.jetify.com ) 进行开发,其内部由` nix ` 驱动。
15+ Devbox最初由 [ Jetify] ( https://www.jetify.com ) 进行开发,其内部由 ` nix ` 驱动。
1616
1717## 示例
18- 下面的例子创建了一个带有` python 2.7 ` 和` go 1.18 ` 的开发环境,尽管这些包并没有在底层机器中被安装。
1918
20- ![ screen cast ] ( https://user-images.githubusercontent.com/279789/186491771-6b910175-18ec-4c65-92b0-ed1a91bb15ed.svg )
19+ 你可以点击下面的按钮在浏览器中试用 Devbox:
2120
21+ [ ![ Open In Devbox.sh] ( https://www.jetify.com/img/devbox/open-in-devbox.svg )] ( https://devbox.sh/new )
2222
23- ## 好处
23+ 下面的例子创建了一个带有 ` python 2.7 ` 和 ` go 1.18 ` 的开发环境,尽管这些包并没有在底层机器中被安装。
2424
25- ### 为团队中的每一个人提供一个统一的Shell
25+ ![ screen cast ] ( https://user-images.githubusercontent.com/279789/186491771-6b910175-18ec-4c65-92b0-ed1a91bb15ed.svg )
2626
27- 通过 ` devbox.json ` 文件来声明项目中所需要的工具列表,并运行 ` devbox shell ` 。这样,参与项目工作的每一个人都会获得一个与这些工具完全版本的shell环境。
27+ ## 安装 Devbox
2828
29- ### 尝试新工具而不污染原先配置的环境
29+ 使用以下安装脚本获取最新版本的 Devbox:
3030
31- 由Devbox创建的开发环境与你的笔记本电脑中的其他东西是隔离的。有什么工具你想尝试,却又不想把环境弄得一团糟?可以把这个工具添加到Devbox的shell中,而当你不再需要它的时候,就可以把它删除--同时保持你的笔记本电脑始终是原始的状态。
31+ ``` sh
32+ curl -fsSL https://get.jetify.com/devbox | bash
33+ ```
3234
33- ### 不以牺牲速度为代价
34-
35- Devbox可以在你的笔记本电脑上直接创建隔离环境,而不需要额外的虚拟化以至于使得你的文件系统或每个命令都变得缓慢。当你准备打包时,就可以把它变成一个等效的container。
35+ 在 [ Devbox 文档] ( https://www.jetify.com/devbox/docs/installing_devbox/ ) 中阅读更多内容。
3636
37- ### 同版本冲突说再见
37+ ## 好处
3838
39- 你是否正在处理多个项目,而所有这些项目都需要同一个二进制文件的不同版本?与其尝试在你的笔记本电脑上安装同一二进制文件的冲突版本,不如为每个项目创建一个隔离环境,并为每个项目使用你想要的任何版本。
39+ ### 为团队中的每一个人提供一个统一的 Shell
4040
41- ### 瞬间将你的应用程序变成一个容器
41+ 通过 ` devbox.json ` 文件来声明项目中所需要的工具列表,并运行 ` devbox shell ` 。这样,参与项目工作的每一个人都会获得一个与这些工具完全版本的 shell 环境。
4242
43- Devbox分析你的源代码并立即将其转化为可以部署到任何云中、并符合OCI标准的镜像。该镜像在速度、大小、安全和缓存方面都进行了优化......而且不需要编写 ` Dockerfile ` 。而且与 [ buildpacks ] ( https://buildpacks.io/ ) 不同的是,devbox处理起来更快。
43+ ### 尝试新工具而不污染原先配置的环境
4444
45- ### 不要再重复声明依赖关系
45+ 由 Devbox 创建的开发环境与你的笔记本电脑中的其他东西是隔离的。有什么工具你想尝试,却又不想把环境弄得一团糟?可以把这个工具添加到 Devbox 的 shell 中,而当你不再需要它的时候,就可以把它删除——同时保持你的笔记本电脑始终是原始的状态。
4646
47- 当你在笔记本电脑上开发时,以及当你把它打包成一个容器准备部署到云端时,你的应用程序往往需要相同的依赖关系集。Devbox的开发环境是同构的:这意味着我们可以把它们变成本地的Shell环境或云端的container,所有这些都不需要重复完成。
47+ ### 不以牺牲速度为代价
4848
49- ## 安装Devbox
49+ Devbox可以在你的笔记本电脑上直接创建隔离环境,而不需要额外的虚拟化以至于使得你的文件系统或每个命令都变得缓慢。当你准备打包时,就可以把它变成等效的 container。
5050
51- 除了安装Devbox本身之外,你还需要安装 ` nix ` 和 ` docker ` ,因为Devbox依赖于它们。
51+ ### 同版本冲突说再见
5252
53- 1 . 安装 [ Nix Package Manager ] ( https://nixos.org/download.html ) 。(别担心,你不需要学习Nix。)
53+ 你是否正在处理多个项目,而所有这些项目都需要同一个二进制文件的不同版本?与其尝试在你的笔记本电脑上安装同一个二进制文件的冲突版本,不如为每个项目创建一个隔离环境,并为每个项目使用你想要的任何版本。
5454
55- 2 . 安装 [ Docker Engine ] ( https://docs.docker.com/engine/install/ ) 或 [ Docker Desktop ] ( https://www.docker.com/get-started/ ) 。注意,只有当你想创建容器时才需要docker--如果没有它,shell功能也能工作。
55+ ### 随身携带你的开发环境
5656
57- 3 . 安装Devbox:
57+ Devbox 的开发环境是 * 可移植的 * 。我们使您能够只声明一次环境,并以多种不同方式使用这个单一定义,包括:
5858
59- ``` sh
60- curl -fsSL https://get.jetify.com/devbox | bash
61- ```
59+ + 通过 ` devbox shell ` 创建的本地 shell
60+ + 可在 VSCode 中使用的开发容器
61+ + 一个 Dockerfile,这样你可以用与你开发时使用的完全相同的工具构建生产镜像
62+ + 在云端的远程开发环境,该环境与本地环境完全一致
6263
63- ## 快速入门:快速又确定的shell
64+ ## 快速入门:快速又确定的 shell
6465
65- 在这个快速入门中,我们将创建一个安装了特定工具的开发shell。这些工具只有在使用这个Devbox shell时才能使用 ,以确保我们不会污染你的机器。
66+ 在这个快速入门中,我们将创建一个安装了特定工具的开发 shell。这些工具只有在使用这个 Devbox shell 时才能使用 ,以确保我们不会污染你的机器。
6667
67681 . 在一个新的空文件夹中打开一个终端。
6869
69- 2 . 初始化Devbox :
70+ 2 . 初始化 Devbox :
7071
7172 ``` bash
7273 devbox init
7374 ```
7475
75- 这将在当前目录下创建一个` devbox.json ` 文件。你应该把它提交到源码控制里。
76+ 这将在当前目录下创建一个 ` devbox.json ` 文件。你应该把它提交到源码控制里。
7677
77- 3 . 从[ Nix Packages ] ( https://search.nixos.org/packages ) 添加命令行工具。例如,要添加Python 3.10:
78+ 3 . 从 [ Nix] ( https://search.nixos.org/packages ) 添加命令行工具。例如,要添加Python 3.10:
7879
7980 ``` bash
8081 devbox add python310
8182 ```
82- 4 . 你的` devbox.json ` 文件记录了你所添加的软件包,它现在应该看起来是这样的:
83+
84+ 在 [ Nixhub.io] ( https://www.nixhub.io ) 上搜索更多软件包。
85+
86+ 4 . 你的 ` devbox.json ` 文件记录了你所添加的软件包,它现在应该看起来是这样的:
8387
8488 ``` json
8589 {
@@ -95,11 +99,11 @@ Devbox分析你的源代码并立即将其转化为可以部署到任何云中
9599 devbox shell
96100 ```
97101
98- 你可以看出你是在Devbox shell中 (而不是你的普通终端),因为shell的提示和目录已经改变 。
102+ 你可以看出你是在 Devbox shell 中 (而不是你的普通终端),因为 shell 的提示和目录已经改变 。
99103
1001046 . 使用你喜欢的工具。
101105
102- In this example we installed Python 3.10, so let’s use it.
106+ 在这个例子中,我们安装了 Python 3.10,所以让我们使用它吧。
103107
104108 ``` bash
105109 python --version
@@ -111,55 +115,40 @@ Devbox分析你的源代码并立即将其转化为可以部署到任何云中
111115 git config --get user.name
112116 ```
113117
114- 8 . 要退出Devbox shell并返回到你的常规shell :
118+ 8 . 要退出 Devbox shell 并返回到你的常规 shell :
115119
116120 ``` bash
117121 exit
118122 ```
119123
120- ## 快速入门:迅速的Docker镜像
121-
122- Devbox使得将你的应用程序打包成一个符合OCI标准的容器镜像变得很容易。Devbox会分析你的代码,自动识别你的项目所需的正确工具链,并将其构建为一个docker镜像。
124+ 在 [ Devbox 文档快速入门] ( https://www.jetify.com/devbox/docs/quickstart/ ) 中阅读更多内容。
123125
124- 1 . 使用` devbox init ` 来初始化你的项目,如果还未初始化的话。
125-
126- 2 . 构建镜像:
127-
128- ``` bash
129- devbox build
130- ```
126+ ## 额外命令
131127
132- 生成的镜像名叫 ` devbox ` .
128+ ` devbox help ` ,用来查看所有的命令。
133129
134- 3 . 用一个更具体的名称来标记该镜像:
130+ 请参阅 [ CLI 参考 ] ( https://www.jetify.com/devbox/docs/cli_reference/devbox/ ) 以获取完整的命令列表。
135131
136- ``` bash
137- docker tag devbox my-image:v0.1
138- ```
139- ### 自动检测的语言
140- Devbox目前支持检测以下两种语言:
141-
142- - Go
143- - Python (Poetry)
132+ ## 加入我们的开发者社区
144133
145- 想要支持更多的语言?[ Ask for a new Language] ( https://github.com/jetify-com/devbox/issues ) 或通过Pull Request贡献一个。
134+ + 通过加入 [ Jetify Discord Server] ( https://discord.gg/jetify ) 来与我们聊天——我们有一个 #devbox 频道专门用于这个项目。
135+ + 使用 [ Github Issues] ( https://github.com/jetify-com/devbox/issues ) 提交错误报告和功能请求。
136+ + 在 [ Jetify’s Twitter] ( https://twitter.com/jetify_com ) 上关注我们的产品更新。
146137
147- ## 额外命令
138+ ## 贡献
148139
149- ` devbox help ` - 用来查看所有的命令
140+ Devbox 是一个开源项目,所以欢迎贡献。在提交拉取请求之前,请阅读 [ 我们的贡献指南 ] ( ../../CONTRIBUTING.md ) 。
150141
151- ` devbox plan ` - 用来查看Devbox在生成container时的配置与步骤
142+ [ Devbox 开发 README ] ( ../../devbox.md )
152143
153- ## 加入我们的开发者社区
144+ ## 相关工作
154145
155- + 通过加入[ Jetify Discord Server] ( https://discord.gg/jetify ) 来与我们聊天 - 我们有一个#devbox频道专门用于这个项目。
156- + 使用[ Github Issues] ( https://github.com/jetify-com/devbox/issues ) 提交错误报告和功能请求。
157- + 在[ Jetify’s Twitter] ( https://twitter.com/jetify_com ) 上关注我们的产品更新。
146+ 感谢 [ Nix] ( https://nixos.org/ ) 所提供的独立的shell。
158147
159- ## 相关工作
148+ ## 翻译
160149
161- 感谢 [ Nix ] ( https://nixos.org/ ) 所提供的独立的shell。
150+ + [ 韩文 ] ( README-ko-KR.md )
162151
163- ## License
152+ ## 许可证
164153
165- 本项目在[ Apache 2.0 License] ( https://github.com/jetify-com/devbox/blob/main/LICENSE ) 下自豪地开放源代码。
154+ 本项目在 [ Apache 2.0 License] ( https://github.com/jetify-com/devbox/blob/main/LICENSE ) 下自豪地开放源代码。
0 commit comments