目前,Nix 中默认和最新的 Ruby 是 2.2.2-p0。当我运行nix-env -qaP ruby
它时,它会返回一个列表,上面说这个 ruby 版本是通过nixpkgs.ruby
. 我希望这个 Ruby 链接将更改为与最新支持的 ruby 版本保持同步。我没有可选的 nixpkgs.ruby_2_2_2 来确保我的 ruby 版本。
但是,查看https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/ruby/ruby-2.2.2.nix的 .nix 定义文件,我看到他们在那个脚本。
所以我想知道,当我在buildInputs
我的 Nix 表达式中列出它以创建开发环境(将通过 访问nix-shell .
)时,是否有某种方法可以指定我想要的 Nix 包的修订版?或者我可以做些什么来确保使用 ruby 2.2.2-p0 进行安装,而不仅仅是最新的 Ruby,这可能会改变?
当前脚本:
let
pkgs = import <nixpkgs> {};
in with pkgs; {
rubyEnv = stdenv.mkDerivation rec {
name = "ruby-env";
version = "0.1";
src = ./.;
buildInputs = [
stdenv
ruby
bundler_HEAD
];
};
}
我没有在http://nixos.org/nix/manual/#chap-writing-nix-expressions的文档中看到这一点