Ubuntu 16.04 下 Laravel 执行 NPM run dev 报错?

运行环境:
Ubuntu 16.04 64位
PHP 7.1
node 7.10.1
npm 5.2.0
Laravel 5.4.23

出错信息:
我用 github.com 上 Laravel 的源码包,或者 通过 composer create 方式 创建项目,都试了,在 composer install 时没有问题,Laravel 正常跑起来了。执行 npm install 时网络错误,node-sass 没下下来,我加代理后下下来了。又执行了一遍 npm install 没有错误。但是在执行 npm run dev 时报错如下,尝试了好几遍都不行。。。也查了了好多资料,看了 JeffreyWay 在 Github 和 Laracasts 的回答都没有解决问题。。。也可能是看晕了。。。

执行 npm run dev 的操作信息

zcdll@zcdll-Infisa:~/Coder/test/php/laravel-5.4.23$ npm run dev

> @ dev /home/zcdll/Coder/test/php/laravel-5.4.23
> npm run development

> @ development /home/zcdll/Coder/test/php/laravel-5.4.23
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

 95% emitting                                                                      

 ERROR  Failed to compile with 2 errors                                                                                  18:42:04

These dependencies were not found:

* /home/zcdll/Coder/test/php/laravel-5.4.23/resources/assets/js/app.js in multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss
* /home/zcdll/Coder/test/php/laravel-5.4.23/resources/assets/sass/app.scss in multi ./resources/assets/js/app.js ./resources/assets/sass/app.scss

To install them, you can run: npm install --save /home/zcdll/Coder/test/php/laravel-5.4.23/resources/assets/js/app.js /home/zcdll/Coder/test/php/laravel-5.4.23/resources/assets/sass/app.scss
            Asset      Size  Chunks             Chunk Names
       /js/app.js   2.96 kB       0  [emitted]  /js/app
mix-manifest.json  32 bytes          [emitted]  
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the @ development 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!     /home/zcdll/.npm/_logs/2017-07-12T10_42_04_340Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ dev: `npm run development`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the @ 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!     /home/zcdll/.npm/_logs/2017-07-12T10_42_04_357Z-debug.log

上面报错信息提到的 log 文件

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'dev' ]
2 info using npm@5.2.0
3 info using node@v7.10.1
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info lifecycle @~predev: @
6 info lifecycle @~dev: @
7 verbose lifecycle @~dev: unsafe-perm in lifecycle true
8 verbose lifecycle @~dev: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/home/zcdll/Coder/test/php/laravel-5.4.23/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/go/bin
9 verbose lifecycle @~dev: CWD: /home/zcdll/Coder/test/php/laravel-5.4.23
10 silly lifecycle @~dev: Args: [ '-c', 'npm run development' ]
11 silly lifecycle @~dev: Returned: code: 2  signal: null
12 info lifecycle @~dev: Failed to exec dev script
13 verbose stack Error: @ dev: `npm run development`
13 verbose stack Exit status 2
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:289:16)
13 verbose stack     at emitTwo (events.js:106:13)
13 verbose stack     at EventEmitter.emit (events.js:194:7)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
13 verbose stack     at emitTwo (events.js:106:13)
13 verbose stack     at ChildProcess.emit (events.js:194:7)
13 verbose stack     at maybeClose (internal/child_process.js:899:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
14 verbose pkgid @
15 verbose cwd /home/zcdll/Coder/test/php/laravel-5.4.23
16 verbose Linux 4.4.0-83-generic
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "dev"
18 verbose node v7.10.1
19 verbose npm  v5.2.0
20 error code ELIFECYCLE
21 error errno 2
22 error @ dev: `npm run development`
22 error Exit status 2
23 error Failed at the @ dev script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 2, true ]

希望能帮我看看这个问题!
谢谢!


自问自答吧。。。
问题解决了,我把 npm 降级到 v5.1.0,把 package.lock.json 删除,把 package.json 更新到 github.com 最新版,再重新 npm install 就好了。
我又重新创建工程试了下,用 npm v5.1.0 是没有问题的,只是因为网络的原因可能。。。

我在 Github 上的 laravel-mix 提了 issue,JefferyWay 说是因为 npm v5.2.0 的 bug,已经修复了但还没有 release。

npm run dev errors on Ubuntu 16.04

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!