You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在NixOS的nix-shell中无法安装ruby2d gem求助

解决NixOS中nix-shell执行gem install ruby2d失败的问题

方法1:通过buildFHSUserEnv创建兼容FHS的Shell环境

创建shell.nix文件,内容如下:

{ pkgs ? import <nixpkgs> {} }:
pkgs.buildFHSUserEnv {
  name = "fhs-ruby-shell";
  targetPkgs = pkgs: with pkgs; [
    ruby
    gcc
    make
    SDL2
    SDL2_image
    SDL2_mixer
    SDL2_ttf
  ];
  runScript = "bash";
}

执行nix-shell shell.nix进入环境后,再运行gem install ruby2d即可完成安装。

方法2:在现有nix-shell中补充依赖与环境变量

修改你的shell.nix,添加ruby2d依赖的系统库并配置路径:

{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
  buildInputs = with pkgs; [
    ruby
    gcc
    make
    SDL2
    SDL2_image
    SDL2_mixer
    SDL2_ttf
  ];
  shellHook = ''
    export LD_LIBRARY_PATH=${pkgs.SDL2}/lib:${pkgs.SDL2_image}/lib:${pkgs.SDL2_mixer}/lib:${pkgs.SDL2_ttf}/lib:$LD_LIBRARY_PATH
  '';
}

重新进入nix-shell后执行gem install ruby2d。

方法3:直接使用Nixpkgs中的ruby2d包(推荐)

无需手动通过gem安装,直接用Nix包管理器获取:

  • 全局安装:
nix-env -iA nixpkgs.ruby2d
  • 仅在当前nix-shell中使用:
    修改shell.nix为:
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
  buildInputs = [ pkgs.ruby2d ];
}

进入shell后即可直接调用ruby2d。

内容的提问来源于stack exchange,提问作者dibusure

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 13:25:30