【问题标题】:Permission denied error with gulp-sftp to directory with Basic AuthType权限被拒绝错误与 gulp-sftp 到具有基本 AuthType 的目录
【发布时间】:2015-11-05 01:30:02
【问题描述】:

我正在使用 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>"
    }
}

我认为我需要通过基本 AuthType 凭据来修复此错误。有人可以帮忙吗?

干杯:)

PS:我正在使用:

  • Mac OS X 10.11.1
  • 节点 v0.12.7
  • Gulp CLI 3.9.0 版
  • gulp-sftp ^0.1.5

【问题讨论】:

    标签: node.js .htaccess web web-development-server


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      我需要/myPath/html

      【讨论】:

        猜你喜欢
        • 2016-01-26
        • 2018-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-27
        • 2013-08-31
        相关资源
        最近更新 更多