我最近切换到 Nix 包管理器,而不是 OS X 的 Homebrew。
通常,我使用 rbenv 安装它,如下所示:
brew install rbenv
rbenv install 2.2.0
Run Code Online (Sandbox Code Playgroud)
我现在问自己如何与 Nix 合作?我听说 Nix 本身是一个足够好的包管理器,所以也许我可以摆脱它rbenv来处理我的 ruby 版本?
当我通过 Nix 安装 ruby 时
nix-env -i ruby
Run Code Online (Sandbox Code Playgroud)
即使 OS X 可以识别它:
$ which ruby
/Users/USERNAME/.nix-profile/bin/ruby
Run Code Online (Sandbox Code Playgroud)
我在尝试执行以下操作时仍然遇到Permission denied错误:
gem install sass
Run Code Online (Sandbox Code Playgroud)
您仍然会推荐 rbenv 来处理 ruby 安装吗?我知道我可以只 chown Nix 文件夹,但无论如何我应该拥有它。
我在使用 python 和nix. 一般来说,使用 nix 时的方法不是:
gem、、pip...)相反,nix(根据我所学到的)做事的方式是:
nixnix如果您正在开发应用程序,则无需通过(或)安装应用程序所依赖的库gem,而是定义一个nix描述应用程序依赖项的表达式并将其用作开发环境。(我认为在这件事上应该改进文档。)RPATH。但这不适用于例如 python 包。)最后,您真正想要的是应用程序,不是图书馆!nixpkgs你可以在官方文档中找到一些关于如何设置此类环境的文档,目前主要涵盖 Haskell,但 Ruby 应该类似。