从Github下载存储库

时间:2016-04-19 12:19:28

标签: yeoman

我试图学习Yeoman,但发现严重缺乏官方文档。我发现remote()函数似乎可以下载GIT存储库,但无论我做什么,我都可以在不丢失错误的情况下使其工作。

以下是我所拥有的:

this.remote('powerbuoy', 'SleekWP', 'master', function (err, remote) {
    if (err) {
        this.log(err);

        return err;
    }

    remote.copy('.', this.destinationPath('wp-content/themes/sleek/'));
}.bind(this));

我希望在这里发生的是https://github.com/powerbuoy/SleekWP/回购下载并移至wp-content / themes / sleek /。相反,我得到的是:

fs.js:603
  var r = binding.read(fd, buffer, offset, length, position);
                  ^

Error: EISDIR: illegal operation on a directory, read

是否有更好的文档或教程在某处解释所有这些基础知识?我很想知道如何在不将每个副本打印到控制台的情况下复制文件。这一切似乎都很基本,但http://yeoman.io/authoring/非常稀疏。

1 个答案:

答案 0 :(得分:2)

好的,显然解决方案是使用remote.bulkDirectory()代替remote.copy()

编辑:但是,阅读"文档" (几乎不能称之为)它说"你永远不应该使用这种方法,除非没有其他解决方案。" (http://yeoman.io/generator/actions_actions.html

因此,如果有人知道这样做的正确方法,我很乐意知道。

我切换到fs-extra软件包并使用cacheRoot()destinationRoot()来复制目录:

fs.copy(this.cacheRoot() + '/username/Project/branch/', this.destinationPath('destination/path/')