➜ ~ vue init webpack frontend
⠋ downloading template
/usr/local/lib/node_modules/vue-cli/node_modules/rimraf/rimraf.js:313
throw er
^
Error: EACCES: permission denied, unlink '/Users/zhouqiang/.vue-templates/webpack/.gitignore'
at Object.unlinkSync (fs.js:974:3)
at rimrafSync (/usr/local/lib/node_modules/vue-cli/node_modules/rimraf/rimraf.js:306:17)
at /usr/local/lib/node_modules/vue-cli/node_modules/rimraf/rimraf.js:342:5
at Array.forEach (<anonymous>)
at rmkidsSync (/usr/local/lib/node_modules/vue-cli/node_modules/rimraf/rimraf.js:341:26)
at rmdirSync (/usr/local/lib/node_modules/vue-cli/node_modules/rimraf/rimraf.js:334:7)
at rimrafSync (/usr/local/lib/node_modules/vue-cli/node_modules/rimraf/rimraf.js:304:9)
at downloadAndGenerate (/usr/local/lib/node_modules/vue-cli/bin/vue-init:149:20)
at checkVersion (/usr/local/lib/node_modules/vue-cli/bin/vue-init:130:11)
at Request.request [as _callback] (/usr/local/lib/node_modules/vue-cli/lib/check-version.js:29:5)
at Request.self.callback (/usr/local/lib/node_modules/vue-cli/node_modules/request/request.js:185:22)
at Request.emit (events.js:189:13)
at Request.<anonymous> (/usr/local/lib/node_modules/vue-cli/node_modules/request/request.js:1161:10)
at Request.emit (events.js:189:13)
at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/vue-cli/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:277:13)
錯誤分析
這個問題其實也是比較簡單的。直觀的報錯是在rimraf.js的313行拋出了異常。探究出現這個問題的原因要先知道rimraf.js的作用。它在做包的深刪除時其實使用了Unix系統的rm -rf命令。而rm -rf是需要相應的權限才能夠操作。
錯誤解決
運行vue命令時加sudo
sudo vue init webpack
這個問題的解決雖然很簡單但是相信很多人會遇到,使用windows系統當然不會出現權限的問題。