【问题标题】:Bundle install in subdirectory捆绑安装在子目录中
【发布时间】:2012-08-30 13:15:16
【问题描述】:

我想在 rake 文件的子目录中设置一个运行“捆绑安装”的 rake 任务。

sh "bundle install -somesortofoption #{DIRECTORY}"

如果我这样做会出错:

sh "cd #{DIRECTORY} && bundle install"

如果捆绑器中有一个选项来定义运行安装的路径,有什么想法吗?一个都看不到?

谢谢

更新:

我也尝试过在 rake 文件中更改目录:

Dir.chdir("#{DIRECTORY}/") do
    sh "bundle install"
end

但是,这似乎不是在此目录中而是在父目录中调用bundle install,或者至少使用该父目录中的 Gemfile。嗯。

如果我 cd 到目录和bundle install,我忘了从命令行说它工作正常!

【问题讨论】:

  • 那么你得到的错误是什么?
  • @phoet 这个错误实际上是 rakefile 失败,因为没有安装正确的 gem。这是因为它使用主项目目录中的 gemfile,而不是它应该使用的子目录
  • 你用的是 rvm 还是什么?

标签: ruby rake bundle bundler sh


【解决方案1】:

我遇到了同样的问题,经过一番挖掘,在这张旧的 github 票 https://github.com/carlhuda/bundler/issues/1424 中发现了 Bundler.with_clean_env,这似乎正是我们需要的:

Bundler.with_clean_env { system "cd #{dir} && bundle install" }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    相关资源
    最近更新 更多