Sass 不工作,无法在 macOS Catalina 上安装 ruby-sass
Sass is not working & Can't install ruby-sass on macOS Catalina
Ruby sass 在升级到 macOS Catalina beta 后无法正常工作。
当我 运行 sudo gem install sass
时,出现错误:
ERROR: Error installing sass:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.11.1/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /Library/Ruby/Site/2.6.0 -r ./siteconf20191007-37566-177grvx.rb extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/include/ruby.h
You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
extconf failed, exit code 1
Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.11.1 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.11.1/gem_make.out```
问题已解决,这里是解决方案
打开终端 & 运行 这些代码
- 第 1 步:
brew update
- 第 2 步:
xcode-select --install
- 第 3 步:
sudo gem install -n /usr/local/bin sass
现在检查您的 sass 版本:sass -v
首先让我敦促人们不要使用 sudo
安装 gems。自 Catalina 以来,core/system 文件的用户权限发生了变化,这非常有意义。这样,任何程序都无法更改核心文件,而且它们是安全的。
现在解决此问题的正确方法是在您的 home
文件夹中安装一个额外的 Ruby 构建,可以对其进行更改和调整。
brew update && brew install rbenv ruby-build
xcode-select --install
vim ~/.zshenv
- 将以下内容添加到打开的文件中
export PATH="$HOME/.rbenv/bin:$PATH"
vim ~/.zshrc
- 将以下内容添加到打开的文件中:
source $HOME/.zshenv
eval "$(rbenv init - zsh)"
source ~/.zshrc
rbenv install 2.6.4
或您觉得合适的任何版本
rbenv global 2.6.4
ruby -v
检查当前 运行 ruby 版本
ruby -e "puts (1..100).reduce(:+)"
输出 5050
- 现在安装任何你想要的 gem
gem install sass
由于 macOS Catalina 已从基础安装中删除 ruby,您将无法再执行通过 gem.
安装的 sass 可执行文件
但是,您可以按照 sass website:
上的说明安装 Dart Sass
Install on Mac OS X (Homebrew)
If you use the Homebrew package manager for Mac OS X, you can install Dart Sass by running
brew install sass/sass/sass
不过,在执行此操作之前,最好先卸载通过 gem
安装的 sass 实例
gem uninstall sass
如果您在 linking 通过 brew 安装的 sass 中遇到任何问题,您可能需要手动 link 它(brew 通常会告诉您这个如果它是这样)
brew link --overwrite sass
在我的例子中,有几个 Ruby 文件夹和文件没有进入目录和读取文件的权限。
- macOS 卡特琳娜 10.15.7
- ruby 2.6.3p62(2019-04-16 修订版 67580)[通用。x86_64-darwin19]
{{ disable SIP Security }}
$ sudo find /Library/Ruby/ -type d -exec chmod -v o+x {} +
$ sudo chmod -Rv go+r /Library/Ruby/
{{ enable SIP Security }}
Ruby sass 在升级到 macOS Catalina beta 后无法正常工作。
当我 运行 sudo gem install sass
时,出现错误:
ERROR: Error installing sass:
ERROR: Failed to build gem native extension.
current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.11.1/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /Library/Ruby/Site/2.6.0 -r ./siteconf20191007-37566-177grvx.rb extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/include/ruby.h
You might have to install separate package for the ruby development
environment, ruby-dev or ruby-devel for example.
extconf failed, exit code 1
Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.11.1 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.11.1/gem_make.out```
问题已解决,这里是解决方案
打开终端 & 运行 这些代码
- 第 1 步:
brew update
- 第 2 步:
xcode-select --install
- 第 3 步:
sudo gem install -n /usr/local/bin sass
现在检查您的 sass 版本:sass -v
首先让我敦促人们不要使用 sudo
安装 gems。自 Catalina 以来,core/system 文件的用户权限发生了变化,这非常有意义。这样,任何程序都无法更改核心文件,而且它们是安全的。
现在解决此问题的正确方法是在您的 home
文件夹中安装一个额外的 Ruby 构建,可以对其进行更改和调整。
brew update && brew install rbenv ruby-build
xcode-select --install
vim ~/.zshenv
- 将以下内容添加到打开的文件中
export PATH="$HOME/.rbenv/bin:$PATH"
vim ~/.zshrc
- 将以下内容添加到打开的文件中:
source $HOME/.zshenv
eval "$(rbenv init - zsh)"
source ~/.zshrc
rbenv install 2.6.4
或您觉得合适的任何版本rbenv global 2.6.4
ruby -v
检查当前 运行 ruby 版本ruby -e "puts (1..100).reduce(:+)"
输出5050
- 现在安装任何你想要的 gem
gem install sass
由于 macOS Catalina 已从基础安装中删除 ruby,您将无法再执行通过 gem.
安装的 sass 可执行文件但是,您可以按照 sass website:
上的说明安装 Dart SassInstall on Mac OS X (Homebrew)
If you use the Homebrew package manager for Mac OS X, you can install Dart Sass by running
brew install sass/sass/sass
不过,在执行此操作之前,最好先卸载通过 gem
安装的 sass 实例gem uninstall sass
如果您在 linking 通过 brew 安装的 sass 中遇到任何问题,您可能需要手动 link 它(brew 通常会告诉您这个如果它是这样)
brew link --overwrite sass
在我的例子中,有几个 Ruby 文件夹和文件没有进入目录和读取文件的权限。
- macOS 卡特琳娜 10.15.7
- ruby 2.6.3p62(2019-04-16 修订版 67580)[通用。x86_64-darwin19]
{{ disable SIP Security }}
$ sudo find /Library/Ruby/ -type d -exec chmod -v o+x {} +
$ sudo chmod -Rv go+r /Library/Ruby/
{{ enable SIP Security }}