鍍金池/ 問答/Linux  HTML/ 運行npm run dev 報錯

運行npm run dev 報錯

iview-admin 項目,npm run dev 報錯

? npm run dev

> iview-admin@1.3.1 dev /Users/zhangxinxin/workProject/hcg
> webpack-dev-server --content-base ./ --open --inline --hot --compress --config build/webpack.dev.config.js

Happy[happybabel]: Version: 4.0.1. Threads: 8 (shared pool)
Project is running at http://0.0.0.0:8080/
webpack output is served from /dist/
Content not from webpack is served from /Users/zhangxinxin/workProject/hcg
404s will fallback to /index.html
fs.js:127
  throw new ERR_INVALID_CALLBACK();
  ^

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
    at maybeCallback (fs.js:127:9)
    at Object.write (fs.js:531:14)
    at /Users/zhangxinxin/workProject/hcg/build/webpack.dev.config.js:12:8
    at FSReqWrap.oncomplete (fs.js:139:20)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! iview-admin@1.3.1 dev: `webpack-dev-server --content-base ./ --open --inline --hot --compress --config build/webpack.dev.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the iview-admin@1.3.1 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/zhangxinxin/.npm/_logs/2018-08-13T08_34_14_457Z-debug.log

錯誤日志

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/10.8.0/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'run',
1 verbose cli 'dev' ]
2 info using npm@6.2.0
3 info using node@v10.8.0
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle iview-admin@1.3.1~predev: iview-admin@1.3.1
6 info lifecycle iview-admin@1.3.1~dev: iview-admin@1.3.1
7 verbose lifecycle iview-admin@1.3.1~dev: unsafe-perm in lifecycle true
8 verbose lifecycle iview-admin@1.3.1~dev: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/zhangxinxin/workProject/hcg/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
9 verbose lifecycle iview-admin@1.3.1~dev: CWD: /Users/zhangxinxin/workProject/hcg
10 silly lifecycle iview-admin@1.3.1~dev: Args: [ '-c',
10 silly lifecycle 'webpack-dev-server --content-base ./ --open --inline --hot --compress --config build/webpack.dev.config.js' ]
11 silly lifecycle iview-admin@1.3.1~dev: Returned: code: 1 signal: null
12 info lifecycle iview-admin@1.3.1~dev: Failed to exec dev script
13 verbose stack Error: iview-admin@1.3.1 dev: webpack-dev-server --content-base ./ --open --inline --hot --compress --config build/webpack.dev.config.js
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:304:16)
13 verbose stack at EventEmitter.emit (events.js:182:13)
13 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack at ChildProcess.emit (events.js:182:13)
13 verbose stack at maybeClose (internal/child_process.js:962:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:249:5)
14 verbose pkgid iview-admin@1.3.1
15 verbose cwd /Users/zhangxinxin/workProject/hcg
16 verbose Darwin 17.6.0
17 verbose argv "/usr/local/Cellar/node/10.8.0/bin/node" "/usr/local/bin/npm" "run" "dev"
18 verbose node v10.8.0
19 verbose npm v6.2.0
20 error code ELIFECYCLE
21 error errno 1
22 error iview-admin@1.3.1 dev: webpack-dev-server --content-base ./ --open --inline --hot --compress --config build/webpack.dev.config.js
22 error Exit status 1
23 error Failed at the iview-admin@1.3.1 dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
重裝 node_modules 不管用

重裝 node 不管用

但在同事電腦可以正常運行
回答
編輯回答
菊外人

node 版本問題,node v10 以上 fs.write 的callback 是必須的,降低Node版本可解決。
如果不想重新安裝node到低版本
將webpack.dev.config.js 和 webpack.prod.config.js 中的代碼修改即可:給fs.write添加必要的callback函數(shù)。

2018年8月5日 19:44
編輯回答
病癮

升級到最新的穩(wěn)定版本

2017年12月19日 06:36
編輯回答
痞性

更改 webpack.dev.config.js

fs.open('./build/env.js', 'w', function (err, fd) {
    const buf = 'export default "development";';
    fs.write(fd, buf, 0, 'utf-8', function(err, written, buffer) {});
    // fs.write(fd, buf, 0, buf.length, 0, function (err, written, buffer) {
    // });
});
2018年1月27日 19:22