如何在Ruby / RoR脚本中安装gem?

时间:2014-07-07 06:42:38

标签: ruby-on-rails ruby rubygems

我有这个问题

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

1 个答案:

答案 0 :(得分:0)

<强>控制台

您遇到的问题是您使用的是Rails console - 您不想这样做,您希望使用标准system CMD

$ rails c
$ ... your stuff
$ exit
$ bundle install

Rails is a gem too - 这意味着如果您加载Rails控制台,它就像在您的系统上运行应用程序一样;你将无法调用任何操作系统级别的命令。

bundle install就像一个控制面板功能 - 它为您的Rails应用程序安装所需的宝石,这意味着您需要在操作系统级别而不是轨道级别运行它