仔细看了一下时间真的是好久都没有写博客了,去年还在认真记录遇到的每一个问题和新学到的知识,真的是惭愧。那么今天就记录一下npm run dev的问题
1.安装laravel5.4
composer create-project laravel/laravel zcms 5.4
2.npm
npm install
3.npm run dev
按照文档来说这时候应该已经成功了,但是这个地方我出现了两个错误。
1.找不到cross-env模块
解决方法:
找到package.json,修改cross-env路径,bin前加dist
"scripts": {
"dev": "node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"hot": "node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development webpack-dev-server --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"production": "node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
}
这时候在执行npm run dev
的时候已经不报cross-env的错误了。
2.乱七八糟的错误,什么public不是一个绝对路径
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
- configuration.output.path: The provided value “public” is not an absolute path!
这里是全部的报错信息。这里的解决办法查了好久,原来是laravel-mix本身的bug
不多说,找到package.json直接升级laravel-mix到0.10.0,然后npm update
"devDependencies": {
"axios": "^0.15.2",
"bootstrap-sass": "^3.3.7",
"jquery": "^3.1.0",
"laravel-mix": "^0.10.0",
"lodash": "^4.16.2",
"vue": "^2.0.1"
}
终于看到了Done Compiled successfully!