ruby-on-rails - Bundler 将我的 gem 放在我的项目目录中

标签 ruby-on-rails ruby gem bundler

我在 Ruby 1.9.2 上有一个运行良好的 Rails 3rc 应用程序,但 Bundler 一直在我的项目目录中创建一个名为“bandsintown”的文件夹(bandsintown 是我使用的 gem)。据我所知,这个文件夹里有我所有的珍宝。我很确定这以前从未发生过。这是正常行为吗?

我认为这可能会干扰正在运行的测试。我收到“命令失败,状态为 (1)”错误,然后它多次提到“bandsintown”文件夹。

我发现 Bundler 将文件夹命名为“bandsintown”很奇怪,即使我在 gemfile 中注释掉那个 gem。那个文件夹中有一个“ruby”文件夹,“ruby”文件夹中有一个“1.9.1”文件夹。我不明白为什么当我使用 1.9.2 时它说 1.9.1。 1.9.1 文件夹里面有 bin、bundler、cache、doc、gems 和 specification 文件夹。

我用所有相同的 gem 制作了一个测试应用程序并进行了 bundle 安装。它不会创建一个包含我所有 gem 的新文件夹。

无论如何,我的应用程序运行良好,但如果有人能帮助我,我将不胜感激。如果我遗漏了任何需要知道的信息,请告诉我。谢谢。

最佳答案

您可能正在运行以下命令:bundle install bandsintown。该命令告诉 bundler 将 gems 安装到应用程序的 bandsintown 子目录中。为了安装 gems,您需要做的就是修改 Gemfile 并运行 bundle install

Bundler 会记住您上次在 .bundle/config 文件中指定的位置。所以,为了“重置” bundler 的内存。在您的应用程序目录中,运行 rm -r .bundle/config。

然后,在更新您的 Gemfile 之后,只需运行 bundle install

关于ruby-on-rails - Bundler 将我的 gem 放在我的项目目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408653/

相关文章:

ruby-on-rails - 将数据从哈希保存到 YAML 文件

gem - Puppet - 控制已安装的软件包版本

ruby-on-rails - 在 Windows 上为 "libv8"安装 "therubyracer"gem

ruby-on-rails - 如何在 app/assets/* 文件中访问 Controller 的变量

Mysql2::错误:外语sql表中的未知列

ruby-on-rails - 在 Mac 上安装 do_postgres

ruby-on-rails - 可以更优雅地完成带问号的 Rails `where` 查询吗?

ruby-on-rails - 在 Rails 应用程序中本地使用 gem 而不修改 Gemfile

ruby-on-rails - 如何在 Rails 中编写和包含常规 ruby​​ 类

ruby-on-rails - sprockets rails 和 sprockets gem 有什么区别?