Edit:
Я думаю, у меня есть это выяснить. посмотрите, работает ли это для вас:
#@pwd is the "working directory of the execution...
Dir.chdir @pwd do
so = ""
vars = {
"BUNDLE_GEMFILE" => nil,
"BUNDLE_BIN_PATH" => nil,
"RUBYOPT" => nil,
"rvm_" => nil,
"RACK_ENV" => nil,
"RAILS_ENV" => nil,
"PWD" => @pwd
}
options = {
:chdir=>@pwd
}
Open3.popen3(vars, cmd, options) do |stdin, stdout, stderr|
stdin.close_write
so = stdout.read
so = stderr.read if so.nil? || so == ""
end
so
end
Исходное сообщение:
Я рву на себе волосы этим. Я думаю, что это как-то связано с переменными среды установки пакета exec | install | update при запуске приложения, я попробовал
bash -c "cd ../other/; bundle install; and it fails"
Я пытался использовать
open3.popen ("установка пакета",: chdir => "../ other")
Если это утешает, ты не сумасшедший, но я не могу понять, как это исправить.
я тоже пробовал
open3.popen ("установка пакета", {: chdir => "../ other",: unsetenv_others => false})
но это в итоге приводит к удалению RVM из системного пути;