Laravel-“npm run dev”报错

在 “L01 Laravel 教程 - Web 开发实战入门 ( Laravel 5.7 ) / 第四章. 优化页面”的 “4.2. 样美化”中,按照教程,执行了

yarn install --no-bin-links
yarn add cross-env

之后在执行

npm run dev

在 Windows 下执行是失败的,会报 “cross-env” 找不到的错误。

package.json

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "watch": "npm run development -- --watch",
        "watch-poll": "npm run watch -- --watch-poll",
        "hot": "cross-env 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": "cross-env 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.18",
        "bootstrap": "^4.0.0",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.0",
        "lodash": "^4.17.5",
        "popper.js": "^1.12",
        "vue": "^2.5.17"
    }
}

网上的建议是把 “scripts”里的 “cross-env” 删除,然后再执行 “npm run dev”进行编译。

但是依旧报了 “node_modules/webpack/bin/webpack.js” 找不到的另一个错误。网上又找了许多的教程,折腾了半天,还是没有解决,问题依旧。

幸好我在执行操作的时候,是跟着教程来走的,所以我先把分支切回了之前的分支

git checkout master            # 切换到其他分支
git branch -d filling-layout-style   # 删除当前的运行 npm run dev 会报错的分支

把分支删除完毕后,我们再重建分支

git checkout -b filling-layout-style

找到 “package.json ”文件,把 “scripts” 里的 “cross-env” 删除,重新再运行以下命令进行安装:

yarn config set registry https://registry.npm.taobao.org  # 切换成国内的加速器
yarn install --no-bin-links
yarn add cross-env

安装完毕后再执行

npm run dev
npm run watch-poll

就这样,问题就解决了,比想象中简单的多了,不用折腾那么久。

--完结--

编辑于 2019-05-24