I did a bundle show
并获取 gem 目录的完整路径。
不幸的是,我使用删除了目录rm -r gem_path
。然后我的 Rails 应用程序不再工作了。如果我尝试启动服务器或启动 Rails 控制台,它会输出以下错误:
<class:Application>
:未初始化的常量MyAPP::Application::Gem
(名称错误)
我该怎么做才能把它拿回来?
I tried bundle install
or bundle update
希望强制捆绑包搜索 gem 并将其安装回来,但没有成功。
我也尝试删除Gemfile.lock
并运行bundle install
。没有任何改变,同样的错误。
有问题的宝石是作为可标记的 http://rubygems.org/gems/acts-as-taggable-on.
如果使用 rbenv,这将让您完全卸载并重新安装 gem,例如 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缓存:
rm $BUNDLE_DIR/cache/rmagick*.gem
还要清除捆绑程序的规范缓存:
rm $BUNDLE_DIR/specifications/rmagick*gemspec
然后你可以重新安装:
bundle install
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)