我怎样才能清理gruntfile仍在使用的节点模块

时间:2014-11-28 01:25:38

标签: gruntjs npm

我正在使用grunt-contrib-clean尝试在构建结束时删除构建计算机上的_node_modules_文件夹。

但我最近添加了一个新的节点模块依赖项 grunt-sass ,这导致了' clean'任务失败,无法删除文件node-sass\bin\win32-x64-v8-3.14\binding.node

认为节点sass文件仍在使用中,因为如果我注释掉下面显示的grunt.loadNpmTasks('grunt-sass');,那么清理工作。

Q1:我可以"卸载"一个npm任务,有点像倒转`loadNpmTasks(' grunt-sass')'?

Q2:通过删除' node_modules'进行清理在CI的最后建立正确的事情?


详细信息:

  • Windows 7 x64

npm list

├─┬ grunt-contrib-clean@0.6.0
│ └── rimraf@2.2.8

gruntfile.js

grunt.loadNpmTasks('grunt-sass');
⋮
clean: {
  post: [
    'node_modules/grunt-sass' // was 'node_modules', but this is for debugging
  ]
}

导致错误:

Running "clean:post" (clean) task
ERROR
Warning: Unable to delete "node_modules" file (EPERM, operation not permitted 'c:\myfold
er\node_modules\grunt-sass\node_modules\node-sass\bin\win32-x64-v8-3.14\binding.node').
Use --force to continue.

注意:
有一个 grunt-clean-contrib github issue讨论同样的问题(同一个文件)。它有一些评论说,将 rimraf 从v2.2.7升级到v2.2.8为它们修复了它。但是我使用2.2.8但仍然看到了失败。

0 个答案:

没有答案