1

Since upgrading my Rails (2.3.17) app to Ruby 1.9.3 I lost the ssh.sftp.upload! method, so I'm trying to make use of the net-scp library, however I can't seem to use it in Rails. In irb I can however require the file fine, just not in rails console.

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>'

This seems to work however:

>> require 'net/ssh'
=> false

Here's my relevant 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)

How can I fix or circumvent this?

4

1 回答 1

8

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

于 2014-01-10T20:09:35.983 回答