在npm脚本中使用rm -r folder_name / *删除文件夹的内容会给出“没有这样的文件夹或目录”。错误

时间:2018-04-16 14:12:11

标签: node.js shell npm

当我尝试通过运行npm run clean(下面的代码)使用npm清理文件夹时,出现以下错误:

  

rm:无法删除' lib / *':没有这样的文件或目录

在我的package.json中,我使用以下脚本:

{
    "scripts": {
        "clean": "rm -r lib/*",
        "show": "ls lib/*"
    }
}

我绝对确定该文件夹存在。我尝试在lib路径周围使用单引号。我知道全局扩展正在运行:npm run show工作得非常好。

我不想像建议here那样添加像rimraf这样的依赖项。我也不关心windows支持。我知道我可以使用rm -r lib && mkdir lib确实有效。我最感兴趣的是rm -r lib/*给出错误的原因。有人可以帮助我吗?

npm版本: 5.5.1

节点版本: 8.9.3

2 个答案:

答案 0 :(得分:3)

你确定你的lib文件夹还没有空吗?

rm -r somedir/*

在空目录上运行时出现此错误,因为" *"因为目录是空的,所以不存在。

如果要删除lib文件夹本身,则必须键入rm -r lib

答案 1 :(得分:0)

使用rimraf:在Node.js中运行unix命令rm -rf

"scripts": {
    "delete:folder": "rimraf lib/*",
}

并在脚本中编写

void setSelectedPositionSmooth (int position)