【问题标题】:Restoring Rails 3's Bundle Install Path... It's now install in my root恢复 Rails 3 的捆绑安装路径...它现在安装在我的根目录中
【发布时间】:2010-09-11 18:44:56
【问题描述】:

我在尝试安装 vestal_versions 插件时做了一些事情,最终在我的应用的根目录中创建了一个 vestal_versions 目录,其中包含以下内容:

 - Application
  - APP
  - DB
   - vestal_versions
    - ruby
     - 1.8
      - bin
      - cache
      - doc
      - gems
      - specifications

如果删除会阻止应用程序运行...如何更新捆绑包以将所有这些东西安装在正确的位置,我认为这是在应用程序之外?

【问题讨论】:

  • 捆绑程序问题应该提供一些 Gemfile 内容。您所说的“更新捆绑包以在正确的位置安装(..)”是什么意思?您的意思是“更新 Gemfile”吗?您发布了哪些捆绑程序命令?请花更多时间写一个好问题,以便我们最好地帮助您。
  • 回顾一下,当我运行“捆绑安装”时,所有内容现在都安装在我的应用程序根文件夹中的这个新文件夹“vestal_versions”中(应用程序、数据库、配置等都在其中)。在我搞砸之前,每当我运行捆绑安装时,文件都不会安装在应用程序的根目录中,而是安装在应用程序之外的一些位置。如何恢复这种行为?

标签: ruby bundler


【解决方案1】:

bundle install <directory name> 使捆绑程序将 gem 安装在相应的目录中。运行bundle install --system 会将安装目录设置回系统目录,而不是您提供的自定义目录。

【讨论】:

  • 命令已弃用(2021),必须使用bundle config set --local system 'true'
【解决方案2】:

我遇到了同样的问题,发现我的应用程序根文件夹中有一个 .bundler 目录导致了这个问题。删除目录后,bundle install 再次将所有内容安装到正确的 ruby​​ 目录。感谢this post by Caleb

【讨论】:

  • 这解决了一个不同的问题,但它不会解决发布的问题。
【解决方案3】:

我遇到过几次这个问题。从项目的根目录检查是否有 .bundle/config 文件。它应该只包含:

--- {}

删除文件中的任何其他内容,捆绑安装应该返回到在项目根目录之外安装。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 2015-02-17
    • 2011-08-13
    相关资源
    最近更新 更多