我正在使用gulp任务将我构建的文件上传到带有 gulp-sftp 插件的Web服务器。但是,我现在收到错误,因为基本身份验证已添加到测试站点上的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凭据与基本AuthType凭据不同,我的.ftppass
文件仅包含SFTP凭据。
以下是我的.ftppass
文件的样子:
{
"keyMain": {
"user": "<my SFTP username>",
"pass": "<my SFTP password>"
}
}
我想我需要通过Basic AuthType凭据来修复此错误。有人可以帮忙吗?
干杯:)
PS:我正在使用:
答案 0 :(得分:0)
刚发现问题:我的gulp任务无法覆盖现有的index.html
文件。当我手动删除该文件(使用FTP客户端)并重试我的gulp任务时,它工作正常。
答案 1 :(得分:0)
当我使用错误的路径时,会收到相同的错误。与传统的FTP客户端连接时,我被条目(主目录)迷住了。您只想直接使用/
代替../../myPath/html
我需要/myPath/html