簡體   English   中英

Windows上的gulp-rsync無法在遠程Linux服務器上建立目錄

[英]gulp-rsync on Windows not Making Directory on Remote Linux Server

我已經完成了以下任務,將文件從Windows 10計算機傳輸到遠程Linux服務器。 但是,將使用反斜杠“ \\”反斜杠“ /”復制文件,導致文件名較長,例如“ js \\ myjs.js”,而不是在其中創建帶有“ myjs.js”的名為“ js”的文件夾。 我還沒有找到解決該問題的選項或開關。 有什么想法我做錯了嗎?

gulp.task('deploy', function() {
  return gulp.src('dist/*/')
   .pipe(rsync({
     options: {
      chmod: 'ugo=rwX',
      'r': true,
      'v': true,
      'delete': true,
      'verbose': true,
      'progress': true
   },
   username: "user",
   password: "pass",
   hostname: 'host.com',
   destination: '~/test/',
   recursive: true,
   clean: true,
   root: "dist/"
  }));
});

這個問題和解決方案被描述這里如下:

在gulp-rsync index.js中進行更改:

  source: sources.map(function(source) {
    return path.relative(cwd, source.path) || '.';
  }),

至:

  source: sources.map(function(source) {
    var file_path = (path.relative(cwd, source.path) || '.').replace( /\\/g, '/')
    // console.log( 'gulp-rsync source:', source.path, ', ret: ', file_path );
    return file_path
  }),

罪魁禍首是path.relative()。

更好的解決方案..

gulp -rsync已經解決了這個問題。 要部署它,請執行以下操作:

npm remove -D gulp-rsync
npm install -D https://github.com/stcruy/gulp-rsync.git

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM