我有这个问题
rails console
Loading development environment (Rails 3.2.13)
irb(main):001:0> system "bundle install"
←[31mssh://git@sykav-sr-pr-004.domain.local:7999/kpr/kpr_exchange.git (at master) is not checked out. Please run `bundle install`←[0m
=> false
UPD
这对我有用:
Bundler.with_original_env { system('bundle install') }
在gemfile中添加gem之后的bundle install结果代码:
def update_bundler
crashed = false
begin
puts "START 'bundle install'"
result = nil
Bundler.with_original_env { result = system('bundle install') }
raise if !result
puts "DONE"
rescue
puts "WE HAVE PROBLEM IN bundler"
crashed = true
FileUtils.cp("Gemfile_backup", "Gemfile")
end
crashed
end
答案 0 :(得分:0)
<强>控制台强>
您遇到的问题是您使用的是Rails console
- 您不想这样做,您希望使用标准system
CMD
:
$ rails c
$ ... your stuff
$ exit
$ bundle install
Rails is a gem too - 这意味着如果您加载Rails控制台,它就像在您的系统上运行应用程序一样;你将无法调用任何操作系统级别的命令。
bundle install
就像一个控制面板功能 - 它为您的Rails应用程序安装所需的宝石,这意味着您需要在操作系统级别而不是轨道级别运行它