ruby - 无法安装 Commonmarker gem(jekyll 需要)macos

标签 ruby macos rubygems jekyll bundler

我该怎么办,依赖项有问题吗?我该如何解决这些问题?我在卡塔利娜。
我反复收到此错误并且已经查找目录..不存在。

sudo bundle update
Password:
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies.......
Bundler found conflicting requirements for the Ruby
version:
  In Gemfile:
    github-pages was resolved to 1, which depends on
      Ruby (~> 1.9.3)

jekyll-feed (~> 0.12) was resolved to 0.13.0, which
depends on
      Ruby (>= 2.3.0)

Bundler could not find compatible versions for gem
"commonmarker":
  In Gemfile:
    commonmarker (~> 0.21.0)

    github-pages was resolved to 203, which depends on
jekyll-commonmark-ghpages (= 0.1.6) was resolved
to 0.1.6, which depends on
        commonmarker (~> 0.17.6)
➜  blog git:(gh-pages) ✗ sudo gem install commonmarker
Building native extensions. This could take a while...
ERROR:  Error installing commonmarker:
    ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.6.0/gems/commonmarker-0.21.0/ext/commonmarker
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20200903-9124-19bmbh8.rb extconf.rb
creating Makefile

current directory: /Library/Ruby/Gems/2.6.0/gems/commonmarker-0.21.0/ext/commonmarker
make "DESTDIR=" clean

current directory: /Library/Ruby/Gems/2.6.0/gems/commonmarker-0.21.0/ext/commonmarker
make "DESTDIR="
make: *** No rule to make target `/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin19/ruby/config.h', needed by `arena.o'.  Stop.

make failed, exit code 2

Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/commonmarker-0.21.0 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/commonmarker-0.21.0/gem_make.out

最佳答案

山姆的评论是正确的。 XCode 的 ruby​​ 框架坏了。一种解决方法是建立一个符号链接(symbolic link):

cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0
ln -sf universal-darwin20 universal-darwin19
有了这个,我能够成功地构建所有的原生扩展。
注意:您应该更改路径段MacOSX11.1.sdk根据您本地的 Xcode SDK 安装。

关于ruby - 无法安装 Commonmarker gem(jekyll 需要)macos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63729369/

相关文章:

ruby-on-rails - 任何人尝试在 Ruby 1.9.1 RC1 下运行 Rails 2.2(或 Edge)

ruby - 如何在 rspec 示例之间设置一些依赖关系?

macos - 如何解决 oh my zsh with mac os 上的自动完成不工作问题

ruby-on-rails - 在主应用程序中扩展 Rails 3 引擎的 Controller

ruby-on-rails - 主要 :Object 的未定义方法 `root'

ruby-on-rails - 使用 mapped_mset 时,如何在 Redis 的 ruby​​ 客户端中设置过期时间?

macos - `go get` 因某些 go 包的权限被拒绝而失败

ruby-on-rails - 通过 Ruby 访问 mac 应用程序

macos - 使用 Mac Postgres App 很难 bundle pg

mysql - gem install mysql2 -v '0.3.18' 失败