Topics

トピックスお知らせやちょっと役に立つ読みものなど

Loading...
開発ブログ

2023.12.23

最終更新:2026.02.27

bundle install の際 psychのインストールに失敗する 【Windows + Ruby3.2以降 + Rails7】

Windows環境で Ruby3.2 + Rails7 のプロジェクトでbundle installを行った際、psychのインストールに失敗し解決までだいぶハマりました。

Windows環境での解決策がなかなか見つからなかったため、対処法を備忘録として書き留めておきます。

An error occurred while installing psych (5.1.2), and Bundler cannot continue.

In Gemfile:
  cssbundling-rails was resolved to 1.3.3, which depends on
    railties was resolved to 7.1.2, which depends on
      irb was resolved to 1.11.0, which depends on
        rdoc was resolved to 6.6.2, which depends on
          psych

原因

Ruby3.2から外部ライブラリの同梱が廃止されたようで、libyamlというライブラリが存在しないことによりpsychのインストールに失敗していたようです。

cssbundling-railsを使おうとすると起こるみたいですね。

3rd パーティライブラリのソースコード同梱廃止

libyaml や libffi のような 3rd パーティのライブラリのソースコードの同梱を廃止しました

Psych に同梱していた libyaml のソースコードは削除されました。ユーザーは自身で Ubuntu や Debian プラットフォームなら libyaml-dev パッケージをインストールする必要があります。このパッケージ名称はプラットフォームごとに異なります。

Fiddle に同梱していた libffi のソースコードも削除されました

https://www.ruby-lang.org/ja/news/2022/12/25/ruby-3-2-0-released/ より引用

 

対処法

1. Windows用のlibyamlをダウンロード

https://packages.msys2.org/package/mingw-w64-x86_64-libyaml にアクセスし、

「mingw-w64-x86_64-libyaml-0.2.5-2-any.pkg.tar.zst」をダウンロードします。

 

2. ダウンロードしたファイルを解凍

ダウンロードした「mingw-w64-x86_64-libyaml-0.2.5-2-any.pkg.tar.zst」を任意の場所で解凍します。

 

3. 必要なファイルを配置

(解凍したディレクトリ)/mingw64/include

の中にある yaml.h をコピーし、

(Rubyをインストールした場所)/Ruby32-x64/include/ruby-3.2.0

のディレクトリの中に配置します。

※「Ruby32-x64」や「ruby-3.2.0」のディレクトリ名はRubyのバージョンに合わせて適宜読み替えてください。

 

続いて、解凍したフォルダの中にある、

(解凍したディレクトリ)/mingw64/lib

の中にある libyaml.a と libyaml.dll.a をコピーし、

(Rubyをインストールした場所)/Ruby32-x64/lib

のディレクトリの中に配置します。

 

4. 再度bundle installを実行

bundle install を実行します。

もし同じようなエラーが出た場合は、Gemfile.lockを削除してから改めてbundle install を実行してみてください。

 

おわりに

cssbundling-railsを使おうとすると発生する問題のようなので、もし解決しなかった場合は、cssとjsのバンドル方法をimportmap-railsに切り替えるのもアリかもしれません。

よろしければお試しください。

Writerこの記事をかいたひと

みなせしゅん

ディレクター/エンジニア/デザイナー/

1994年生まれ、千葉県育ち。2019年より個人事業主として活動。
プランニングやディレクション、フロントエンドやバックエンドのコーディング・プログラミング、WEBデザインからグラフィックデザインまで、わりとなんでもやる人。

Related Topics関連記事

【CSS】Safariでmix-blend-modeがoverflow: hiddenによって効かなくなる場合の対処法

開発ブログ

2024.10.20

【CSS】Safariでmix-blend-modeがoverflow: hiddenによって効かなくなる場合の対処法

【初心者向けSourcetree】グローバル無視設定ファイルを作成しますか?と聞かれたら【Git】

開発ブログ

2020.08.07

【初心者向けSourcetree】グローバル無視設定ファイルを作成しますか?と聞かれたら【Git】

WEBサイトリニューアルの手順や流れを実際の事例に沿って紹介してみた(ver. 2021)

開発ブログ

2021.06.10

WEBサイトリニューアルの手順や流れを実際の事例に沿って紹介してみた(ver. 2021)

Windows環境からAWS EC2にRails6 + PostgreSQLのWEBアプリをデプロイする際ハマったことまとめ

開発ブログ

2021.01.10

Windows環境からAWS EC2にRails6 + PostgreSQLのWEBアプリをデプロイする際ハマったことまとめ

< PrevBack to listNext >