从NPM脚本运行命令时,“没有此类文件或目录”

时间:2018-12-07 14:26:31

标签: npm-scripts

我有一个简单的命令要在我的NPM脚本中使用。 命令是:

cat ./path/**/*.css > ./other/path/plugins.css

如果我在终端中运行此程序,它将起作用。 但是,如果我将其放在NPM脚本中,如下所示:

"scripts" {
     "cat": "cat ./path/**/*.css > ./other/path/plugins.css"
}

我不会得到这样的文件或目录。

任何想法可能是什么原因?

谢谢!

1 个答案:

答案 0 :(得分:1)

之所以不起作用,是因为cat接受文件名作为参数,并且星号(glob)被shell(很可能是bash)转换为文件名。

它不能与npm脚本一起使用的原因是,它没有在支持您要使用的功能(全局扩展,标准输出重定向到文件)的外壳中运行。

要解决此问题,只需在bash实例中运行它即可:

"scripts" {
     "cat": "bash -c 'cat ./path/**/*.css > ./other/path/plugins.css'"
}