2016-11-06 23 views
0

我正在创建一个NODE JS CLI应用程序,该应用程序将根据用户提供的选项为用户生成脚手架。节点CLI应用程序 - 复制一组文件

我被困在cli应用程序需要从其存储库复制一组文件并放置在用户工作目录中的部分。我使用的代码是:

fs.copy('./template/core', '/', function (err) 
    { 
     if (err) return console.error(err) 
     console.log("success!") 
    }); 

模板/核心文件夹是存在于CLI应用项目层次

当我运行的命令,它给了我:

{错误:ENOENT:没有这样的文件或目录,LSTAT './template/core' 错误号:-2, 代码: 'ENOENT', 系统调用: 'LSTAT', 路径: './template/core'}

我做了一个np米安装-g,可以看到在模板/ core文件在/ usr/lib中/ node_modules //

解决此问题的任何帮助,将不胜感激

回答

1

您正试图复制一个文件与源相对一个到当前的工作目录(./),这应该是相对于CLI脚本文件(如果我正确理解你的话)。为此,您需要复制相对于__dirname

而且,你的目的地(/)反映了文件系统的根目录,但你的文字说,你想将文件复制到当前的工作目录,所以你应该使用.

这两件事情结合会导致在此:

const path = require('path'); 
fs.copy(path.resolve(__dirname, 'template/core'), '.', function(err) { ... }); 
+0

优秀。谢谢。它刚刚工作! –

相关问题