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。