LoginSignup
0
0

More than 5 years have passed since last update.

Mojaveにアップデートしてjekyll動かしたらbad interpreterでたので対応した

Last updated at Posted at 2018-10-28

エラーコマンドとメッセージ

$ jekyll 
-bash: /usr/local/bin/jekyll: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby: bad interpreter: No such file or directory

pryなど、Gemで入れた他のツールも動かない。辛い。

原因

Macのメジャーアップデートにより、System下のRubyのバージョンが変わったため。

必要なコマンド


# gemの認識するrubyのバージョンのアップデート?
sudo gem update --system

# developerツール入れ直し
xcode-select --install

# Mojave用のCommandLineToolsがheadersを読み込んでくれないため対応
sudo open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

エラー対応のログ

sudo gem update --systemのあと

以下のようなエラーが出ていた

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

xcode-select --install のあと

以下のようなエラーが出ていた

/Users/hoge/.rbenv/versions/2.5.0/include/ruby-2.5.0/ruby/defines.h:112:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
1 error generated.
make: *** [ruby_http_parser.o] Error 1

make failed, exit code 2

その他

pryとかは sudo gem update --systemだけで対応できそうです。

参考

gem updateについて

最後の mac_sdk_headers

追記

またエラーでた。

jekyll
# => /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'jekyll' (>= 0) among 15 total gem(s) (Gem::LoadError)

下にGEM_PATHが変やで!!という1文があり、rbenv下にgemをinstallしていたので、
とりあえず.bash_profileに以下を書いて対応。
この辺ベストじゃないプラクティスっぽいけど、とりあえず対応完了。

# hogeはユーザーネームに変えてね
export GEM_PATH="/Users/hoge/.rbenv/versions/versions/2.5.0/lib/ruby/gems/2.5.0/"
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