J'ai un problème qui me semble être un comportement très floconneux, est-ce un problème avec Ruby ou quelque chose que j'ai fait? Aidez-moi, mon projet est bloqué jusqu'à ce que je le résolve.Exemple d'erreur de syntaxe SFTP Simple Ruby
Compte tenu de ce code en cours d'exécution sur Mac OS Leopard:
require 'uri'
require 'net/ssh'
require 'net/sftp'
include Net
def copy_from_uri(uri, local_path)
# SFTP copy
SFTP.start(uri.host, uri.user, :password => 'password') do |sftp|
puts "downloading from #{uri.host}, path #{uri.path}\n"
sftp.download(uri.path, local_path)
end
end
remote_uri = URI.parse("sftp://example.com/test.mp4")
local_file = "/tmp/remote_copy_test.mp4"
result = copy_from_uri(remote_uri, local_file);
Quelle serait la cause de l'erreur suivante?
$ ruby sftp_fail.rb
/Library/Ruby/Site/1.8/net/sftp.rb:43:in `start': undefined method `shutdown!'
for nil:NilClass (NoMethodError)
from sftp_fail.rb:8:in `copy_from_uri'
from sftp_fail.rb:18
Pour votre information, j'ai correctement réglé RUBYOPT si les pierres précieuses sont chargées et mes pierres précieuses sont à jour, selon:
$gem list --local
net-sftp (2.0.2, 1.1.0)
net-ssh (2.0.15, 1.1.2)
Oui. uri.user était nul, parce que j'ai oublié d'utiliser le format "sftp :: //[email protected]". Il m'a fallu un certain temps pour régler la question RUBYOPT, d'où l'allégation d'un problème interne. – Justicle
Alors ... c'était la réponse alors, non? :) –
Certainement un problème causé par le passage d'une valeur qui était nulle, dans mon cas, je n'avais pas mis à jour mes variables à mon nouveau format @ip aurait dû être @ host.name –