Vinyl-ftp 奇怪的错误
Vinyl-ftp strange error
我正在使用 Vinyl-ftp 进行部署,当我尝试连接 FileZilla 或 Total Commander 时一切正常,但是当我尝试 wirh Gulp 任务时出现奇怪的错误,我看不出区别,这是我的 Gulp 任务和错误消息
gulp.task('ftp-test-connection', function () {
var conn = ftp.create({
host: 'hostname',
user: 'user',
password: 'password',
parallel: 10,
log: gutil.log
});
var globs = [
'./styles/**/*{css,png,jpg,gif,ttf,woff,eof,svg,woff2}',
'./images/**',
'./views/**',
'./scripts/vendor.scripts.min.js',
'./dist/index.html',
'./dist_test/main.scripts.min.js',
'./dist_test/web.config'
];
return gulp.src(globs, { base: '.', buffer: false })
.pipe(gulpIf('dist/index.html', rename({ dirname: '' })))
.pipe(gulpIf('dist/web.config', rename({ dirname: '' })))
.pipe(gulpIf('dist_test/main.scripts.min.js', rename({ dirname: '/scripts' })))
.pipe(conn.newer('/site/wwwroot'))
.pipe(conn.dest('/site/wwwroot'));
});
这是我的错误
**
[11:31:59] ERROR Error: User cannot log in.
at makeError (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\connection.js:1067:13)
at Parser.<anonymous> (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\connection.js:113:25)
at emitTwo (events.js:87:13)
at Parser.emit (events.js:172:7)
at Parser._write (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\parser.js:59:10)
at doWrite (_stream_writable.js:292:12)
at writeOrBuffer (_stream_writable.js:278:5)
at Parser.Writable.write (_stream_writable.js:207:11)
at Socket.ondata (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\connection.js:273:20)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20) (530)
Process terminated with code 1.
**
我在使用 "vinyl-gulp" 和 Azure 应用服务(a.k.a。Azure 网站)时遇到了同样的问题。
在我的例子中,问题是由 Azure FTP 用户名中包含的“\”字符引起的。
我只需将“\”(例如:"someuser$someuser")加倍即可解决问题。
希望对您有所帮助...
男.
我正在使用 Vinyl-ftp 进行部署,当我尝试连接 FileZilla 或 Total Commander 时一切正常,但是当我尝试 wirh Gulp 任务时出现奇怪的错误,我看不出区别,这是我的 Gulp 任务和错误消息
gulp.task('ftp-test-connection', function () {
var conn = ftp.create({
host: 'hostname',
user: 'user',
password: 'password',
parallel: 10,
log: gutil.log
});
var globs = [
'./styles/**/*{css,png,jpg,gif,ttf,woff,eof,svg,woff2}',
'./images/**',
'./views/**',
'./scripts/vendor.scripts.min.js',
'./dist/index.html',
'./dist_test/main.scripts.min.js',
'./dist_test/web.config'
];
return gulp.src(globs, { base: '.', buffer: false })
.pipe(gulpIf('dist/index.html', rename({ dirname: '' })))
.pipe(gulpIf('dist/web.config', rename({ dirname: '' })))
.pipe(gulpIf('dist_test/main.scripts.min.js', rename({ dirname: '/scripts' })))
.pipe(conn.newer('/site/wwwroot'))
.pipe(conn.dest('/site/wwwroot'));
});
这是我的错误 **
[11:31:59] ERROR Error: User cannot log in.
at makeError (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\connection.js:1067:13)
at Parser.<anonymous> (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\connection.js:113:25)
at emitTwo (events.js:87:13)
at Parser.emit (events.js:172:7)
at Parser._write (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\parser.js:59:10)
at doWrite (_stream_writable.js:292:12)
at writeOrBuffer (_stream_writable.js:278:5)
at Parser.Writable.write (_stream_writable.js:207:11)
at Socket.ondata (C:\node_modules\vinyl-ftp\node_modules\ftp\lib\connection.js:273:20)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20) (530)
Process terminated with code 1.
**
我在使用 "vinyl-gulp" 和 Azure 应用服务(a.k.a。Azure 网站)时遇到了同样的问题。
在我的例子中,问题是由 Azure FTP 用户名中包含的“\”字符引起的。 我只需将“\”(例如:"someuser$someuser")加倍即可解决问题。
希望对您有所帮助...
男.