bundle updateだのlistenだの、何?(Railsチュートリアルで躓いたこと覚書シリーズ)


疑問

Railsチュートリアルで、Railsアプリを新規作成する度に、Gemfileの設定を変更しています。bundle installすると毎度下のようなエラー(下添付コンソール画面参照)が出てbundle updateをしているのですが、チュートリアルの指示に従っているだけで、自分で何をしているのかよくわかりませんでした...。あと、listenって何?

コンソール画面のエラー文抜粋
You have requested:
  listen = 3.1.5

The bundle currently has listen locked at 3.4.1.

なまじ英語ができる自分は(なまじですよ)、なんでlistenっていう動詞の原形がこんなところに入るの?と混乱しましたが、固有名詞として使っているようですね。固有名詞だけど頭文字小文字ですと...φ(・

答え

listenとは

先輩から教えてもらったのですが、まずlistenというのは、gem(=Railsをもっと便利に使えるライブラリというアドオンツールみたいなもの)の1つです。聞くという動詞ではありません(笑)。

エラー内容

自分がGemfileに設定したlistenが最新版よりも古いよというインフォメーション。(赤文字だけど、「気をつけろよ」というインフォメーション的な温度感らしいです。)
Railsチュートリアルでは、listenが3.1.5でセットされていますが、現時点での最新版は3.4.1。updateした方がしなよという、アドバイスです。

対応

  • bundle updateすると、最新版のgemにアップデートされるが、他のgemとの依存関係によっては最新版とならないこともあるそうで、今回もそうでした。

補足

  • gemの一覧がまとまっているサイトがありました。今回見たlistenはこちら

おわりに

完全な蛇足ですが、こういう疑問に即、しかも真摯に答えてくれる先輩方に大感謝。先輩エンジニアにマウントを取られる...とは程遠い世界におります。