I did a bundle show
and get the complete path to a gem directory.
Unfortunately, I removed the directory using rm -r gem_path
. Then my rails app isn't working anymore. If I try start server or start rails console it outputs the following error:
<class:Application>
: uninitialized constantMyAPP::Application::Gem
(NameError)
What should I do to have it back?
I tried bundle install
or bundle update
in hope of forcing the bundle to search the gem and install it back, but didn't work.
I also tried delete the Gemfile.lock
and run bundle install
. Nothing changed, same error.
The gem in question is Act as taggable on.
To use different gem versions, you could use this pattern: your-gem _version_ . For example, bundle _1. 10.6_ -v . Hope that will help.
In addition, the user deploying the application may not have permission to install gems to the system, or the web server may not have permission to read them. As a result, bundle install --deployment installs gems to the vendor/bundle directory in the application. This may be overridden using the --path option.
If using rbenv, this will let you completely uninstall and re-install a gem such as rmagick:
First: Try a simple uninstall/reinstall
gem uninstall rmagick bundle install
If that doesn't work, you can remove all trace of the installed gem. Find your gem installation location:
bundle show rmagick BUNDLE_DIR=$(dirname $(dirname $(bundle show rmagick))) echo $BUNDLE_DIR
Your gem installation prefix will either be the default e.g. ~/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
or something you set e.g. .vendor
Clear out the gem directory:
rm -rf $BUNDLE_DIR/gems/rmagick-*
Clear out the compiled gem cache:
rm $BUNDLE_DIR/cache/rmagick*.gem
Also clear out bundler's spec cache:
rm $BUNDLE_DIR/specifications/rmagick*gemspec
Then you can re-install:
bundle install
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With