1. ホーム
  2. ruby

bundler を使って gem を再インストールする方法

2023-10-28 21:18:29

質問

私は bundle show で、gemディレクトリへの完全なパスを取得します。

残念ながら、ディレクトリを削除するのに rm -r gem_path . すると、私のrailsアプリはもう動作しません。start server や start rails console を試すと、以下のようなエラーが出力されます。

<class:Application> : 初期化されていない定数 MyAPP::Application::Gem (名前エラー)

どうすれば元に戻せますか?

試しに bundle install または bundle update を追加して、バンドルに gem を検索してインストールするように強制することを期待しましたが、うまくいきませんでした。

を削除してみたり Gemfile.lock を削除して bundle install . 何も変わらず、同じエラーです。

問題のgemは でタグ付け可能なように動作します。 .

どのように解決するのですか?

まず gem q --L のショートカット、つまり gem query --local . インストールされているすべてのローカルgemsが出力されます。

actionmailer (3.2.8, 3.2.6, 3.2.1, 3.1.0)
actionpack (3.2.8, 3.2.6, 3.2.1, 3.1.0)
activemodel (3.2.8, 3.2.6, 3.2.1, 3.1.0)
activerecord (3.2.8, 3.2.6, 3.2.1, 3.1.0)
activeresource (3.2.8, 3.2.6, 3.2.1, 3.1.0)
activesupport (3.2.8, 3.2.6, 3.2.1, 3.1.0)
acts-as-taggable-on (2.3.3)
...

そして、DVGのアドバイスに従って、正しい名前を使ってgemをアンインストールしました。 gem uninstall acts-as-taggable-on を実行し bundle install . その後、私は rails c または rails s を使用しても問題なく動作します。