Techioz Blog

Sonoma 14.2.1 および M1 Pro チップを搭載した MacBook Pro の問題

概要

M1 Pro チップを搭載した Sonoma 14.2.1 を実行している MacBook Pro で Jekyll に問題が発生しています。最初に、Ruby システムに関連する問題が発生したため、rbenv 1.2.0 を使用して Ruby 3.3.0 をインストールしました。

その後、Jekyll のセットアップ チュートリアルに従って次のコマンドを使用して、Gem 3.5.4 を使用して Bundler と Jekyll をインストールしました。

gem インストール jekyll バンドラー

Bundler は正常にインストールされましたが (bundler -v でバージョン 2.5.5 が表示されていることを確認しました)、Jekyll で問題が発生しました。 jekyll -v を使用して Jekyll のバージョンを確認しようとすると、次のエラーが表示されます。

zsh: コマンドが見つかりません: jekyll

ただし、jekyll が返す gem 以降、Jekyll はインストールされているようです。

/opt/homebrew/lib/ruby/gems/3.3.0/gems/jekyll-4.3.3/lib/jekyll.rb

gem jekyll または gem ‘jekyll’ を実行しようとすると、エラーが発生します。

ERROR:  While executing gem ... (Gem::UnknownCommandError)

Unknown command jekyll
    /opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command_manager.rb:206:in `find_command'
    /opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command_manager.rb:251:in `invoke_command'
    /opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command_manager.rb:193:in `process_args'
    /opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command_manager.rb:151:in `run'
    /opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
    /opt/homebrew/opt/ruby/bin/gem:12:in `<main>'

その後、関連する投稿 (「Ruby gem jekyll がインストールされているが認識されない」) を見つけましたが、その解決策は Windows 環境に固有のようで、私の場合は機能しませんでした。

また、この投稿を読んだ後、それが私の gem 環境に関連しているのではないかと思いました。

RubyGems Environment:
  - RUBYGEMS VERSION: 3.5.4
  - RUBY VERSION: 3.3.0 (2023-12-25 patchlevel 0) [arm64-darwin23]
  - INSTALLATION DIRECTORY: /opt/homebrew/lib/ruby/gems/3.3.0
  - USER INSTALLATION DIRECTORY: /Users/'username'/.gem/ruby/3.3.0
  - RUBY EXECUTABLE: /opt/homebrew/opt/ruby/bin/ruby
  - GIT EXECUTABLE: /opt/homebrew/bin/git
  - EXECUTABLE DIRECTORY: /opt/homebrew/lib/ruby/gems/3.3.0/bin
  - SPEC CACHE DIRECTORY: /Users/'username'/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /opt/homebrew/Cellar/ruby/3.3.0/etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - arm64-darwin-23
  - GEM PATHS:
     - /opt/homebrew/lib/ruby/gems/3.3.0
     - /Users/'username'/.gem/ruby/3.3.0
     - /opt/homebrew/Cellar/ruby/3.3.0/lib/ruby/gems/3.3.0

でも、どうすればいいのかわかりません。私のシステムで Jekyll が正しく動作するように、この問題を解決するのを手伝ってくれる人はいますか?

解決策

バンドラー経由でインストールされた実行可能ファイルは、bundle exec で実行する必要があります。例えば

bundle exec jekyll serve

バンドル実行部分を省略した場合、シェルは、たとえば PATH 内で jekyll を検索します。バンドラーへのルートを作成する簡単な方法がわかりません。