无法在 Mac Big Sur 11.5.2 上安装 Ruby Compass

Can't install Ruby Compass on Mac Big Sur 11.5.2

我正在尝试在 2020 Mac Book Pro 运行ning Big Sur (11.5.2) 上安装 Compass。

当我尝试 运行:

gem install compass

我收到错误:

You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory

如果我尝试 运行:

sudo gem install compass

我收到错误:

ERROR:  Error installing compass:
    ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.4/ext/ffi_c

我已经尝试安装和更新 Ruby。 我已尝试更新系统 Ruby,但系统不允许比以下更新的版本:

Updating rubygems-update
Fetching rubygems-update-3.3.3.gem
Successfully installed rubygems-update-3.3.3
Parsing documentation for rubygems-update-3.3.3
Installing ri documentation for rubygems-update-3.3.3
Installing darkfish documentation for rubygems-update-3.3.3
Done installing documentation for rubygems-update after 206 seconds
Parsing documentation for rubygems-update-3.3.3
Done installing documentation for rubygems-update after 0 seconds
Installing RubyGems 3.3.3
ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem

 % ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

不确定下一步该做什么或尝试什么。

有人知道如何安装 Compass 吗?

这实际上分解为两个问题,正如您在 sudo 调用中注意到的那样。

(1) 您正在尝试将 gems 写入系统 Ruby.

的受保护目录

在大多数开发环境中,最好安装一个 Ruby 版本管理器,它允许您为不同的项目并排安装多个 Rubies。纯粹主观上,我建议 rbenv 仅管理 Ruby,或 asdf 管理 Ruby 版本以及其他语言版本.但是,使用哪个 Ruby 版本管理器的问题是 very well tread already,因此您可以根据现有信息选择最适合您需求的解决方案。

(2) 您正在安装带有本机扩展的 gem,这意味着您需要在系统上安装底层 C 库才能正确构建(假设您使用的是 CRuby ,默认 Ruby 实现)。您需要在计算机上安装 libffi-dev 才能正确构建 gem。基于 ,似乎一个简单的 brew install libffi 应该可以解决这个问题。

最后,我建议使用 bundler gem 来管理 Ruby 每个项目的 gem 是惯用的。如果您真的想要 运行 这个 gem 系统范围,或者它是否可能在多个项目中改变版本,我会重新考虑。