![](/img/trans.png)
[英]fail to install ruby-filemagic 0.7.2 on mac m1 big sur
[英]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.