如何使用bundler重新安装宝石[英] How to reinstall a gem using bundler

本文是小编为大家收集整理的关于如何使用bundler重新安装宝石的处理方法,想解了如何使用bundler重新安装宝石的问题怎么解决?如何使用bundler重新安装宝石问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我做了一个bundle show并获得了GEM目录的完整路径.

不幸的是,我使用rm -r gem_path删除了目录.然后我的Rails应用程序不再工作了.如果我尝试开始服务器或启动Rails控制台,它输出以下错误:

<class:Application>:未初始化的常数MyAPP::Application::Gem(nameError)

我该怎么做才能回到它?

我尝试了bundle install或bundle update希望迫使捆绑包搜索宝石并将其安装回来,但不起作用.

我还尝试删除Gemfile.lock并运行bundle install.没有任何改变,相同的错误.

所讨论的宝石是上的标记.

推荐答案

首先我做了gem q --L,为gem query --local的快捷方式.它输出了所有安装的本地宝石.

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 uninstall acts-as-taggable-on和RAN bundle install卸载宝石.之后,我能够再次进入rails c或rails s而没有任何问题.

其他推荐答案

如果使用rbenv,这将让您完全卸载并重新安装rmagick:

等宝石

首先:尝试简单的卸载/重新安装

gem uninstall rmagick
bundle install

如果这不起作用,则可以删除已安装的GEM的所有跟踪.找到您的GEM安装位置:

bundle show rmagick
BUNDLE_DIR=$(dirname $(dirname $(bundle show rmagick)))
echo $BUNDLE_DIR

您的GEM安装前缀将是默认为默认为: ~/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0或你设置的东西. .vendor

清除GEM目录:

rm -rf $BUNDLE_DIR/gems/rmagick-*

清除编译的gem cache:

rm $BUNDLE_DIR/cache/rmagick*.gem

还清除Bundler的规格缓存:

rm $BUNDLE_DIR/specifications/rmagick*gemspec

然后您可以重新安装:

bundle install

其他推荐答案

您可以始终使用:

gem pristine acts-as-taggable-on

原始 - 从位于GEM缓存中的文件中恢复已安装的GEM,从位于GEM缓存中的文件

如果您只想为当前项目恢复创业板,您应该运行:

bundle exec gem pristine acts-as-taggable-on

本文地址:https://www.itbaoku.cn/post/786402.html