0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

commonmarker 2.4.1 がインストールできなかったのは Rust のバージョンのせいだった

Posted at

commonmarker gem を使っているプロジェクトがあった。

バージョンは 2.4.0 であった。

2.4.1 がリリースされたのに合わせて

bundle update

したら,commonmarker 2.4.1 のインストールがコケた。
以下のようなメッセージであった。

Installing commonmarker 2.4.1 (was 2.4.0) with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/gems/3.4.0/gems/commonmarker-2.4.1/ext/commonmarker
/Users/XXXXX/.rbenv/versions/3.4.6/bin/ruby extconf.rb
checking for clang... yes
checking for clang++... yes
checking for ar... yes
checking for cargo... yes
checking for install_name_tool... yes

current directory:
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/gems/3.4.0/gems/commonmarker-2.4.1/ext/commonmarker
make DESTDIR\= sitearchdir\=./.gem.20251008-78652-jds0nq
sitelibdir\=./.gem.20251008-78652-jds0nq clean

current directory:
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/gems/3.4.0/gems/commonmarker-2.4.1/ext/commonmarker
make DESTDIR\= sitearchdir\=./.gem.20251008-78652-jds0nq
sitelibdir\=./.gem.20251008-78652-jds0nq
generating target/release/libcommonmarker.dylib (release)
cargo rustc  --manifest-path ./Cargo.toml --target-dir target --lib --profile
release -- -C linker=clang -L
native=/Users/XXXXX/.rbenv/versions/3.4.6/lib -L
native=/opt/homebrew/Cellar/gmp/6.3.0/lib -C
link-arg=-Wl,-undefined,dynamic_lookup -l pthread
error: rustc 1.79.0 is not supported by the following packages:
  deranged@0.5.3 requires rustc 1.81.0
  time@0.3.43 requires rustc 1.81.0
  time-core@0.1.6 requires rustc 1.81.0
Either upgrade rustc or select compatible dependency versions with
`cargo update <name>@<current-ver> --precise <compatible-ver>`
where `<compatible-ver>` is the latest version supporting rustc 1.79.0

make: *** [target/release/libcommonmarker.dylib] Error 101

make failed, exit code 2

Gem files will remain installed in
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/gems/3.4.0/gems/commonmarker-2.4.1
for inspection.
Results logged to
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/gems/3.4.0/extensions/arm64-darwin-24/3.4.0/commonmarker-2.4.1/gem_make.out

/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:125:in
'Gem::Ext::Builder.run'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:51:in
'block in Gem::Ext::Builder.make'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:43:in
'Array#each'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:43:in
'Gem::Ext::Builder.make'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/ext_conf_builder.rb:44:in
'Gem::Ext::ExtConfBuilder.build'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:206:in
'Gem::Ext::Builder#build_extension'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:240:in
'block in Gem::Ext::Builder#build_extensions'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:237:in
'Array#each'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/ext/builder.rb:237:in
'Gem::Ext::Builder#build_extensions'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/rubygems/installer.rb:842:in
'Gem::Installer#build_extensions'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/rubygems_gem_installer.rb:111:in
'Bundler::RubyGemsGemInstaller#build_extensions'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/rubygems_gem_installer.rb:30:in
'Bundler::RubyGemsGemInstaller#install'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/source/rubygems.rb:220:in
'Bundler::Source::Rubygems#install'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/installer/gem_installer.rb:55:in
'Bundler::GemInstaller#install'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/installer/gem_installer.rb:17:in
'Bundler::GemInstaller#install_from_spec'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/installer/parallel_installer.rb:133:in
'Bundler::ParallelInstaller#do_install'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/installer/parallel_installer.rb:124:in
'block in Bundler::ParallelInstaller#worker_pool'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:62:in
'Bundler::Worker#apply_func'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:57:in
'block in Bundler::Worker#process_queue'
  <internal:kernel>:168:in 'Kernel#loop'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:54:in
'Bundler::Worker#process_queue'
/Users/XXXXX/.rbenv/versions/3.4.6/lib/ruby/site_ruby/3.4.0/bundler/worker.rb:90:in
'block (2 levels) in Bundler::Worker#create_threads'

An error occurred while installing commonmarker (2.4.1), and Bundler
cannot continue.

おっ,こういう箇所があるね:

error: rustc 1.79.0 is not supported by the following packages:
  deranged@0.5.3 requires rustc 1.81.0
  time@0.3.43 requires rustc 1.81.0
  time-core@0.1.6 requires rustc 1.81.0

コレ Rust 使ってるのか。C じゃなく Rust 使った拡張ライブラリーが増えてきたね(知らんけど)。

commonmarker は Rust の comrak のラッパーであるらしい。

Rust のバージョンが古いようなので,アップデートしてみる。

まず rustc のバージョンを確認:

% rustc -V
rustc 1.79.0 (129f3b996 2024-06-10)

ふむ,エラーメッセージに書かれていてたとおり 1.79.0 であった。

rustc をアップする前に rustup も上げておこう:

% rustup self update

そのうえで rustc を上げる:

 % rustup update

そしてバージョンを確認:

% rustc -V
rustc 1.90.0 (1159e78c4 2025-09-14)

そして,commonmarker gem を使ったプロジェクトで

% bundle install

無事 2.4.1 がインストールできました。

環境

  • macOS Sequoia 15.7.1
  • ruby 3.4.6 (2025-09-16 revision dbd83256b1) +PRISM [arm64-darwin24]
  • Bundler version 2.7.2
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?