目前,Nix中的默认和最新Ruby为2.2.2-p0。当我运行nix-env -qaP ruby
时,它返回一个列表,其中表示可通过nixpkgs.ruby
访问此Ruby版本。我期望这个Ruby链接将改变,以保持与最新的受支持的Ruby版本的最新。没有可选的nixpkgs.ruby_2_2_2供我用来确保我的ruby版本。使用最新版本时确保Nix Dev环境中的Ruby版本
然而,看看https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/ruby/ruby-2.2.2.nix的.nix定义文件,我发现它们在该脚本中指定了修订版本。
所以我想知道,是否有某种方式可以指定我想在我的Nix表达式的buildInputs
中列出的Nix包的修订版本,以创建开发环境(它将被访问通过nix-shell .
)?或者还有其他一些我可能会做的事情,这将使我能够确保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
啊,没关系,这是有道理的,假设你的意思是ruby_2_2化名为2.2.2,而不是2.2.0。 – josiah
感谢您的指点,我修复了错字。 – Eric