三、实战系列问题处理集中营

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 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

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