Skip to main content

Nix 依赖管理

Nix( https://nixos.org/ )是一个管理软件包和系统配置的工具。1024Code 通过与 Nix 集成的方式,理论上可以支持所有的编程语言。

此外,出于数据安全考虑,代码空间子容器未开放root权限,仅能通过 runner 用户身份操作容器。所以无法像正常的 linux 系统一样通过 apt 等类似方式安装系统依赖。但可以使用 Nix 安装。

要在代码空间中使用特定的 Nix 包,请在 Nix 的 Packages 页面( https://search.nixos.org/packages )上搜索该包并将其添加到您的 .1024nix 文件中。

搜索依赖

以 ffmpeg 举例,在某些情况下,我们需要用到 ffmpeg 对视频进行采集或者抓图处理。 首先,请搜索并确认它在 Nix 上存在。

Finding NodeJS on Nix

如上图,我们将使用 ffmpeg 。单击软件包名称将其展开。并切换到 How to install ffmpeg 区域的 NixOS Configuration 选项卡。如下图,复制蓝色选中内容。该内容是您将粘贴到 .1024nix 文件中的内容。

Expanded nix package

添加依赖

.1024nix 为默认隐藏文件,首先需要在文件树右上角的更多按钮里,选择“显示隐藏文件”,再点击 .1024nix 文件在编辑器中打开,并将刚刚复制的内容(pkgs.ffmpeg)添加到 packages 参数中:

installpkgs

然后,点击重启容器按钮,让该依赖在环境中生效。

验证依赖

最后,在代码中使用该依赖之前,我们可以先尝试在终端 shell 中对该依赖进行验证,如下图:

usepkgs

验证无误后即可放心在代码中使用了!