我想在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
它工作正常!
答案 0 :(得分:2)
我遇到了这个完全相同的问题,在这个旧的github票证https://github.com/carlhuda/bundler/issues/1424中进行了一些挖掘Bundler.with_clean_env
之后,这似乎完全符合我们的要求:
Bundler.with_clean_env { system "cd #{dir} && bundle install" }