MissingSourceFile:无法加载此类文件--net / scp

时间:2014-01-10 19:53:46

标签: ruby scp net-ssh

自从我的Rails(2.3.17)应用程序升级到Ruby 1.9.3后,我丢失了ssh.sftp.upload!方法,所以我正在尝试使用net-scp库,但我似乎无法在Rails中使用它。在irb中,我可以要求文件正常,而不是在rails控制台中。

me@app:~/myapp$ script/console myapp
Loading myapp environment (Rails 2.3.17)
>> require 'net/scp'
MissingSourceFile: cannot load such file -- net/scp
  from /path/to/myapp/shared/bundle/ruby/1.9.1/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:184:in `require'
  from /path/to/myapp/shared/bundle/ruby/1.9.1/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:184:in `require'
  from (irb):1
  from /home/me/.rvm/rubies/ruby-1.9.3-p448/bin/irb:16:in `<main>'

但这似乎有效:

>> require 'net/ssh'
=> false

这是我的相关Gemfile.lock

$ cat Gemfile.lock | grep "net-scp" -n5
30-      nokogiri (>= 1.4.4)
31-      uuidtools (~> 2.1)
32-    builder (2.1.2)
33-    capistrano (2.14.2)
34-      highline
35:      net-scp (>= 1.0.0)
36-      net-sftp (>= 2.0.0)
37-      net-ssh (>= 2.0.14)
38-      net-ssh-gateway (>= 1.1.0)
39-    capistrano-ext (1.2.1)
40-      capistrano (>= 1.0.0)
--
106-    multi_xml (0.5.3)
107-    mysql (2.9.0)
108-    net-http-digest_auth (1.2.1)
109-    net-http-persistent (2.8)
110-    net-ldap (0.3.1)
111:    net-scp (1.1.0)
112-      net-ssh (>= 2.6.5)
113-    net-sftp (2.1.1)
114-      net-ssh (>= 2.6.5)
115-    net-ssh (2.7.0)
116-    net-ssh-gateway (1.2.0)

我该如何解决或绕过这个?

1 个答案:

答案 0 :(得分:7)

显然它就像在net-scp中包含Gemfile一样简单,即使它包含在net-sshcapistrano中。