Sass无法正常工作且无法在macOS Catalina上安装ruby-sass

时间:2019-10-07 02:01:47

标签: ruby macos sass rubygems macos-catalina

升级到macOS Catalina beta后,Ruby sass无法正常工作。

运行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```

3 个答案:

答案 0 :(得分:6)

问题已解决,这是解决方案

打开终端并运行这些代码

  • 第1步:brew update
  • 第2步:xcode-select --install
  • 第3步:sudo gem install -n /usr/local/bin sass

现在检查您的sass版本:sass -v

答案 1 :(得分:3)

让我开始敦促人们不要使用 logic:modified to = (if LeaveFromDate < 01Jun2019 then 01Jun2019) and (if LeaveFromDate > 01Jun2019 and LeaveFromDate < 31Aug2019 then LeaveFromDate ) else blank. 安装宝石。自Catalina以来,核心/系统文件的用户权限已更改,这完全是有道理的。这样,任何程序都无法更改核心文件,并且这些核心文件已保存并且安全。

现在解决此问题的正确方法是在sudo文件夹中安装一个其他的Ruby构建,可以对其进行更改和调整。

  1. home
  2. brew update && brew install rbenv ruby-build
  3. xcode-select --install
  4. 将以下内容添加到打开的文件vim ~/.zshenv
  5. export PATH="$HOME/.rbenv/bin:$PATH"
  6. 将以下内容添加到打开的文件中:
vim ~/.zshrc
  1. source $HOME/.zshenv eval "$(rbenv init - zsh)"
  2. source ~/.zshrc或您认为合适的任何版本
  3. rbenv install 2.6.4
  4. rbenv global 2.6.4检查当前运行的红宝石版本
  5. ruby -v输出ruby -e "puts (1..100).reduce(:+)"
  6. 现在安装任何您想要的宝石5050

答案 2 :(得分:1)

由于macOS Catalina从基本安装中删除了ruby,因此您不再执行通过gem安装的sass可执行文件。

但是,您可以按照sass website上的说明安装Dart Sass:

  

在Mac OS X(自制)上安装

     

如果在Mac OS X上使用the Homebrew package manager,则可以通过运行安装Dart Sass

brew install sass/sass/sass

但是,在执行此操作之前,最好先卸载通过gem安装的sass实例

gem uninstall sass

如果在链接通过brew安装的sass时遇到任何问题,则可能需要手动链接(如果是这样,brew通常会告诉您)

brew link --overwrite sass