在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
相关产品推荐
相关产品推荐

