我不小心跑了sudo bundle install smtp_mail
,现在我的所有宝石都在我的Rails应用程序中名为smtp_mail
的目录中。
我不确定宝石的默认位置?而且,我的Rails应用程序在启动时抱怨。有没有办法可以恢复?
答案 0 :(得分:17)
经过一段谷歌搜索后,我找到了答案 跑吧:
sudo bundle install --system
你将把你的宝石带回适当的系统目录。
答案 1 :(得分:6)
注意这个......
来自捆绑手册页的:
默认情况下,bundler会将gem安装到与gem install相同的位置。
你永远不应该使用sudo bundle install。这是因为必须以当前用户身份执行bundle install中的其他几个步骤:
更新Gemfile.lock 必要时更新供应商/缓存 使用用户的SSH密钥检出私有git存储库
在这三个中,前两个理论上可以通过将生成的文件chown到$ SUDO_USER来执行。但是,第三个只能通过实际调用git命令作为当前用户来执行。因此,git gems下载并安装到〜/ .bundle而不是$ GEM_HOME或$ BUNDLE_PATH。
因此,您应该以当前用户身份运行捆绑安装,如果需要将宝石放入最终位置,捆绑商将要求您提供密码。
答案 2 :(得分:6)
路径在
中的文件中指定.bundle/config
如果删除.bundle目录然后删除smtp_mail目录,您将返回第一个目录。如果你真的想要一个本地(到你的应用程序)安装宝石,我建议你运行
bundle install --path vendor/bundle
祝你好运!
答案 3 :(得分:0)
当我遇到类似问题时,这对我有所帮助。
我rm -rf .bundle中的所有文件然后删除,然后我按照本文档中的命令。