簡體   English   中英

無法在 Mac Big Sur 11.5.2 上安裝 Ruby Compass

[英]Can't install Ruby Compass on Mac Big Sur 11.5.2

我正在嘗試在運行 Big Sur (11.5.2) 的 2020 Mac Book Pro 上安裝 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 版本管理器的問題已經很好解決了,因此您可以根據現有信息選擇最適合您需求的解決方案。

(2) 您正在安裝帶有本機擴展的 gem,這意味着您需要安裝在系統上的底層 C 庫才能正確構建(假設您使用的是 CRuby,默認的 Ruby 實現)。 您需要在您的機器上安裝libffi-dev才能正確構建該 gem。 基於這個問題,似乎一個簡單的brew install libffi應該可以解決這個問題。

最后,我建議使用捆綁器bundler來管理 Ruby 的每個項目的 gem 是慣用的。 我會重新考慮您是否真的想在整個系統范圍內運行這個 gem,或者它是否可能在多個項目中改變版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM