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:我正在使用:
- Mac OS X 10.11.1
- 节点 v0.12.7
- Gulp CLI 版本 3.9.0
- gulp-sftp ^0.1.5
刚刚发现问题:我的 gulp 任务无法覆盖现有的 index.html
文件。当我手动删除该文件(使用 FTP 客户端)并重试我的 gulp 任务时,它成功了。
当我走错路径时,我收到了同样的错误。在连接传统的 FTP 客户端时,我被入口(主)目录所迷惑。您只想使用 /
直接从根引用
而不是../../myPath/html
我需要/myPath/html
我正在使用 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:我正在使用:
- Mac OS X 10.11.1
- 节点 v0.12.7
- Gulp CLI 版本 3.9.0
- gulp-sftp ^0.1.5
刚刚发现问题:我的 gulp 任务无法覆盖现有的 index.html
文件。当我手动删除该文件(使用 FTP 客户端)并重试我的 gulp 任务时,它成功了。
当我走错路径时,我收到了同样的错误。在连接传统的 FTP 客户端时,我被入口(主)目录所迷惑。您只想使用 /
而不是../../myPath/html
我需要/myPath/html