【问题标题】:Error: Underlying stream not writable when trying to download file from remote server to node server错误:尝试将文件从远程服务器下载到节点服务器时,基础流不可写
【发布时间】:2016-08-19 03:44:23
【问题描述】:

我正在尝试使用 node-scp2 模块将文件从远程 linux 服务器(从目录 /home/dataFiles/test.txt)下载到节点服务器(到目录 H:/dataDirOnNodeServer)。为此,我运行以下命令:

client.scp('linuxUsername:linuxPassword@linuxserverName:/home/dataFiles/test.txt', 'H:/dataDirOnNodeServer', function(err) {
     console.log(err);
})

我收到一个错误:错误:基础流不可写

如果您能帮我解决这个问题,或者如果您能建议如何以不同的方式进行操作以使其正常工作,我将不胜感激。

【问题讨论】:

  • 这意味着H:/dataDirOnNodeServer 不存在。你确定有吗?
  • 另外,如果它是您提供的目录,它应该以/结尾
  • 感谢您的回复!我验证了路径在我的 Windows 机器上,这是我的 ndoe 服务器。我也在最后添加了 / 但我得到了同样的错误。我不确定我错过了什么
  • 我的参数顺序对吗?
  • 参数看起来正确。你能用./替换H:..

标签: linux node.js download copy scp


【解决方案1】:

我解决了这个问题!问题是我在另一个客户端的成功中调用了这个客户端,因此该文件使用相同的实例来执行复制。为了解决这个问题,我更改了 scp2/lib/scp.js 中的 scp 库代码,如下所示:

-var client = require('./client');
+var Client = require('./client').Client;
+var client = new Client();

(第一行被删除,下面两行被添加),每次调用一个新实例时都是这样。这也解决了我之前遇到的堆栈溢出问题。

【讨论】:

    猜你喜欢
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多