Ruby 未定义的方法'put#u file';对于#<;网络::SFTP::会话:0x00000000b70138>;(命名者)
我发现使用net/sftp时出现以下问题: 未定义的方法Ruby 未定义的方法'put#u file';对于#<;网络::SFTP::会话:0x00000000b70138>;(命名者),ruby,Ruby,我发现使用net/sftp时出现以下问题: 未定义的方法'put_file'用于# (命名错误) 顺便说一下,我的RUBYLIB是: 2011.07.08|17:15:33~/lin/Ruby>echo $RUBYLIB /opt/ruby/lib/ruby/1.9.1/ 谢谢! 丹 附言: Net::SFTP。请参阅Net::SFTP 你的意思可能是sftp.upload或sftp.upload?检查您的版本。SFTP 2不再有put\u文件。改为使用upload。不,我的意思是sft
'put_file'用于#
(命名错误)
顺便说一下,我的RUBYLIB是:
2011.07.08|17:15:33~/lin/Ruby>echo $RUBYLIB
/opt/ruby/lib/ruby/1.9.1/
谢谢!
丹
附言:
Net::SFTP。请参阅Net::SFTP
你的意思可能是
sftp.upload
或sftp.upload代码>?检查您的版本。SFTP 2不再有put\u文件
。改为使用upload
。不,我的意思是sftp.put\u文件方法。是否可能是RUBYLIB设置问题或其他问题?但是在SFTP对象上没有put\u file
方法。您是否遵循可以链接到的示例?
2011.07.08|17:12:07~/lin/Ruby>irb
irb(main):001:0> require 'net/ssh'
=> true
irb(main):002:0> require 'net/sftp'
=> true
irb(main):003:0>
2011.07.08|17:15:33~/lin/Ruby>echo $RUBYLIB
/opt/ruby/lib/ruby/1.9.1/
require 'net/ssh'
require 'net/sftp'
host="localhost"
src_file="/etc/services"
dst_file="~/services"
Net::SFTP.start(host, ENV["USER"]) do |sftp|
sftp.put_file(src_file, dst_file)
end
......