CircleCI の日本語ドキュメントを直したい(と思ったが諦めた)
モチベーション
CircleCI 公式ページの日本語版ドキュメントの内容が一部古く、役に立たなくなっているので直したい。
例えば以下のように、2023年6月 のことを予定として記載している(2024年3月13日現在)。 つまりそれが書かれた後、このドキュメントが更新されていないことを示している。
Japanese | English |
---|---|
このような状況なので日本語ドキュメントに記述されている内容が当てにならない状態であることがわかる。
環境
- OS: macOS 13.6.4 Ventura
- CPU: Apple Silicon (M2 Pro)
日本語ドキュメントの修正箇所が多くてやってられない && 今どきDeepLやAIなどでいくらでも英文を翻訳できるので、修正することに対するモチベーションが一気に下がった。
基本的に原文(英語)を参照して、日本語ドキュメントはあてにしない方がよさそう。という結論に至った。
環境
$ ruby -v
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [arm64-darwin22]
準備: bundle install
ビルドに必要な Gem をインストールするために bundle install
を実行するとエラーになった。
Installing rugged 1.0.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/gems/rugged-1.0.1/ext/rugged
/Users/snaka/.asdf/installs/ruby/2.7.6/bin/ruby -I /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/2.7.0 -r ./siteconf20240313-56193-6pquvb.rb extconf.rb
checking for gmake... no
checking for make... yes
checking for cmake... no
ERROR: CMake is required to build Rugged.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/snaka/.asdf/installs/ruby/2.7.6/bin/$(RUBY_BASE_NAME)
--with-sha1dc
--without-sha1dc
--use-system-libraries
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/extensions/arm64-darwin-22/2.7.0/rugged-1.0.1/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/gems/rugged-1.0.1 for inspection.
Results logged to /Users/snaka/.asdf/installs/ruby/2.7.6/lib/ruby/gems/2.7.0/extensions/arm64-darwin-22/2.7.0/rugged-1.0.1/gem_make.out
An error occurred while installing rugged (1.0.1), and Bundler cannot continue.
Make sure that `gem install rugged -v '1.0.1' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
pronto was resolved to 0.11.0, which depends on
rugged
CMake が無いと言っているのでインストールする
brew install cmake
CMake はビルド自動化のためのソフトウェアで、実際のビルド時には make などネイティブなビルド環境が利用されるらしい。
CMake インストール後に bundle install
したら以下のエラーに変わった
ERROR: pkg-config is required to build Rugged.
リポジトリの README に明確に書いていた。以下が必要だと。
$ brew install cmake pkg-config
これで bundle install
は完了した。
ローカルでドキュメントを確認する
以下を実行して dev サーバを立ち上げ、ドキュメントを確認してみる。
yarn jekyll-dev
なにやらビルド(?)が走って以下が表示される
processing data for: sidenav
processing data for: sitemap
done in 18.34 seconds.
Auto-regeneration: enabled for 'jekyll'
Server address: http://0.0.0.0:4000/docs/
Server running... press ctrl-c to stop.
ブラウザで http://localhost:4000/docs/ を開くとIndex ページが開く
試しに http://localhost:4000/docs/getting-started/ を開くと
StyleSheet があたっていない状態でドキュメントが表示される。
Docker で立ち上げてみる
Dockerfile, docker-compoe.yml があることに気づいたの Docker を使ってローカル環境を立ち上げてみる。
docker compose up
以下のエラーが出た
=> ERROR [jekyll 5/6] RUN gem install bundler && bundle install 26.5s
------
> [jekyll 5/6] RUN gem install bundler && bundle install:
26.22 ERROR: Error installing bundler:
26.22 The last version of bundler (>= 0) to support your Ruby & RubyGems was 2.4.22. Try installing it with `gem install bundler -v 2.4.22`
26.22 bundler requires Ruby version >= 3.0.0. The current ruby version is 2.7.6.219.
------
failed to solve: process "/bin/sh -c gem install bundler && bundle install" did not complete successfully: exit code: 1
gem install bundler
でインストールされるバージョンが、想定よりも新しいため動かないらしい。
エラーメッセージを参考に Dockerfile を修正してみる
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@ FROM ruby:2.7.6
RUN apt update -y
RUN apt-get install -y cmake pkg-config
COPY Gemfile Gemfile.lock ./
-RUN gem install bundler && bundle install
+RUN gem install bundler -v 2.4.22 && bundle install
RUN bundle exec jekyll clean
これで Docker で立ち上げることできたけど、見え方は一緒だった。 ( Style Sheet あたっていない )