三、实战系列问题处理集中营
1、npm run watch-poll 提示 cross-env: not found
vagrant@homestead:~/code/laravel-shop$ npm run dev
> @ dev /home/vagrant/code/laravel-shop
> npm run development
> @ development /home/vagrant/code/laravel-shop
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
sh: 1: **cross-env: not found**
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
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! spawn ENOENT
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.
网上找到了一篇文章说明了问题的原因--Laravel 5.4 Mix执行 npm run dev时报错,提示cross-env找不到(not found)的原因及解决办法
- cross-env 是什么?
Most Windows command prompts will choke when you set environment variables with NODE_ENV=production like that. (The exception is Bash on Windows, which uses native Bash.) Similarly, there's a difference in how windows and POSIX commands utilize environment variables. With POSIX, you use: $ENV_VAR and on windows you use %ENV_VAR%.
意思是,Windows 系统设置系统环境变量一般是%ENV_VAR%,其他系统是$ENV_VAR,所以为了解决不同系统设置系统环境变量问题,cross-env组件就是起这个作用,cross-env是能是用在window系统上,如果用他mac或linux系统还可能出现问题。- 问题是如何引起的?
- 如果是window系统,可能是cross-env没装或路径找不到等
- 如果是mac或linux系统,可能是不需要安装反而装了导致的问题
- 问题是如何引起的?
因此,我的根据实战教程,linux 系统,不需要这个组件,所以我得去掉cross-env
组件就可以
将 package.json
文件中去掉 cross-env
,如下:
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"axios": "^0.17",
"bootstrap-sass": "^3.3.7",
"cross-env": "^5.1",
"jquery": "^3.2",
"laravel-mix": "^1.0",
"lodash": "^4.17.4",
"vue": "^2.5.7"
}
}
保存,输入命令npm run watch-poll
vagrant@homestead:~/code/laravel-shop$ npm run watch-poll
> @ watch-poll /home/vagrant/code/laravel-shop
> npm run watch -- --watch-poll
> @ watch /home/vagrant/code/laravel-shop
> NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js "--watch-poll"
10% building modules 0/1 modules 1 active ...l-shop/resources/assets/sass/app 10% building modules 1/1 modules 0 active
Webpack is watching the files…
10% building modules 1/2 modules 1 active ...ravel-shop/resources/assets/js/a 10% building modules 1/3 modules 2 active ...l-shop/resources/assets/sass/app 10% building modules 2/3 modules 1 active ...ravel-shop/resources/assets/js/a 10% building modules 2/4 modules 2 active ...l-shop/resources/assets/sass/app 10% building modules 2/5 modules 3 active ...modules/style-loader/lib/addStyl 10% building modules 3/5 modules 2 active ...l
本作品采用《CC 协议》,转载必须注明作者和本文链接
还是不行