环境和依赖

当你打开了一个项目后,OOMOL Studio 会后台启动一个 Linux 容器,你的项目将会运行在这个容器内,与你的计算机实际环境隔离。

每一个项目都会有自己独立的环境,这样就保证了项目之间的代码和依赖不会相互影响,也不会影响你计算机的运行环境。

当你删除掉项目后,容器会被移除,你的计算机和其他项目仍然不受影响。

容器环境

新建项目后创建的容器是一个最小化的容器,为了保证启动运行速度我们只在容器内安装了必要的软件。因此假如你需要用到某些系统的命令或者一些软件(例如 netcat),你就需要自行在容器中安装。

容器在第一次加载时会运行 package.oo.yaml 中的 script.bootstrap 属性下的脚本:

所以你可以在这个脚本内添加你想要安装的系统依赖,这个脚本使用的是 shell 脚本进行编写。

信息

默认的脚本用于安装 Node.js 和 Python 代码的依赖,请不要删除,否则会导致代码无法运行。

在编写完启动脚本后,你可以在底部面板的项目初始化栏中找到重启初始化脚本的按钮,点击后将会重新运行 package.oo.yaml 中的 script.bootstrap 下的脚本:

你编写的初始化脚本也会随着包的发布被其他人下载引用,当其他人在使用你的项目时也会启动同样的初始化脚本,完成环境准备。

当初始化脚本执行完成后,代表你的项目环境已经准备完成,可以开始编写你的工作流了。

代码依赖

当你在编写代码时会经常需要依赖第三方库,这种时候你可以有几种方式引入代码依赖:

代码依赖管理

在底部面板的代码依赖管理栏中,搜索对应语言的依赖并安装

使用这种方式安装的依赖会将依赖版本信息自动记录在文件中。

Python 依赖会记录在 poetry.toml 下:

Node.js 依赖会记录在 package.json 下:

由于该方式只能在依赖搜索中搜索到最新版本,如果你想要安装历史版本请在终端中通过命令安装。

在终端中输入安装语句

在终端中直接安装依赖可以自定指定安装的版本。

Python 语言依赖可以使用 Poetry 命令进行安装:

Node.js 语言依赖可以使用 Npm 命令进行安装:

信息

OOMOL Studio 并没有限制用户一定要使用文档中描述的依赖管理软件,文档描述的是 OOMOL Studio 的默认实现。

用户可以自行选择依赖管理软件,但注意一定要实现版本管理机制,否则无法保证用户在下载包时安装的依赖与开发者安装的版本相同,可能会导致工作流无法正常运行。

信息

由于每个项目都是一个容器,你在项目中安装的代码依赖可以在项目内所有地方引用。