我最近切换到Nix包管理器而不是Homebrew for OS X.
通常,我用rbenv安装它,如:
brew install rbenv
rbenv install 2.2.0
我现在问自己,如何用Nix做到这一点?我听说Nix本身就是一个很好的包管理器,所以也许我可以摆脱rbenv
来处理我的ruby版本?
当我通过Nix安装ruby时
nix-env -i ruby
即使OS X识别它:
$ which ruby
/Users/USERNAME/.nix-profile/bin/ruby
我在尝试时仍然遇到Permission denied
错误:
gem install sass
你还会推荐rbenv来处理红宝石装置吗?我知道我可以只打开Nix文件夹,但无论如何我应该拥有它。
我有使用python和nix
的类似经验。通常,使用nix时的方法不是:
gem
,pip
,...)相反,nix
方式(从我所学到的)做的事情是:
nix
安装所有已打包的应用程序nix
(或gem
)安装应用程序所依赖的库,您可以定义一个描述应用程序依赖关系的nix
表达式,并将其用作开发环境。 (我认为应该在这个问题上改进文档。)RPATH
s构建到它们中。但这对于例如python包不起作用。)最后你真正想要的是应用程序,不是图书馆!您可以在官方nixpkgs
documentation中找到有关如何设置此类环境的一些文档,目前主要涵盖Haskell,但Ruby应该类似。
你可以通过以下方式找到红宝石包
nix-env -qa ruby
然后它将显示ruby版本列表
nix-env -i ruby-2.1.0-p0
这将安装ruby版本然后由ruby -v
检查