Bundle install在子目录中

时间:2012-08-30 13:15:16

标签: ruby rake bundle bundler sh

我想在rake文件的子目录中设置一个运行'bundle install'的rake任务。

sh "bundle install -somesortofoption #{DIRECTORY}"

如果我这样做,我会收到错误:

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

如果在bundler中有一个选项来定义运行install的路径,有什么想法?我看不到一个?

由于

更新

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

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

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

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

1 个答案:

答案 0 :(得分:2)

我遇到了这个完全相同的问题,在这个旧的github票证https://github.com/carlhuda/bundler/issues/1424中进行了一些挖掘Bundler.with_clean_env之后,这似乎完全符合我们的要求:

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