gulp-sftp 到具有基本 AuthType 的目录的权限被拒绝错误

Permission denied error with gulp-sftp to directory with Basic AuthType

我正在使用 gulp 任务通过 gulp-sftp 插件将我构建的文件上传到网络服务器。但是,由于基本身份验证已添加到测试站点上的 remotePath 目录(以 .htaccess 文件的形式),因此我现在遇到错误。

这是我的 gulp 任务:

gulp.task('upload', function() {
    gulp.src('./build/**/*')
        .pipe(sftp({
            host: 'example.com',
            auth: 'keyMain',
            remotePath: '/var/www/dest',
            callback: uploadComplete
        }));
});

这是我现在 运行 执行相同任务时遇到的错误:

[13:42:34] Authenticating with password.
[13:42:35] SFTP error or directory exists: Error: Failure /var/www/dest
events.js:85
throw er; // Unhandled 'error' event
      ^
Error: Permission denied
    at SFTP._parse (...)
    ...

SFTP 凭据与 Basic AuthType 不同,我的 .ftppass 文件仅包含 SFTP 凭据。

这是我的 .ftppass 文件的样子:

{
    "keyMain": {
        "user": "<my SFTP username>",
        "pass": "<my SFTP password>"
    }
}

我想我需要通过 Basic AuthType 凭据来修复此错误。有人可以帮忙吗?

干杯:)

PS:我正在使用:

刚刚发现问题:我的 gulp 任务无法覆盖现有的 index.html 文件。当我手动删除该文件(使用 FTP 客户端)并重试我的 gulp 任务时,它成功了。

当我走错路径时,我收到了同样的错误。在连接传统的 FTP 客户端时,我被入口(主)目录所迷惑。您只想使用 /

直接从根引用

而不是../../myPath/html

我需要/myPath/html