Laravel 5.4的“跨环境”不被认为是内部或外部的命令
我试图运行npm run dev
Laravel混合,我得到这个错误:
> @ dev D:\projects\ptcs > cross-env NODE_ENV=development webpack --progress --hide-modules -- config=node_modules/laravel-mix/setup/webpack.config.js 'cross-env' is not recognized as an internal or external command, operable program or batch file. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ dev: `cross-env NODE_ENV=development webpack --progress --hide- modules --config=node_modules/laravel-mix/setup/webpack.config.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @ dev script.
我更新了node.js到6.11.0和npm到5.2.0,但它没有帮助。 我在Windows 7上运行Homestead。
您需要使跨环境工作,而不是在项目中。
1)删除node_modules
文件夹
2)跑步
npm install – 全局跨环境
3)从package.json
文件的devDependencies
部分删除"cross-env": "^5.0.1",
。 其实,你可以跳过这一步,保持package.json不变。 如果你更喜欢。
4)跑步
npm安装 – 无bin链接
5)跑步
npm run dev
并看到它的工作
PStesting在Windows 10与laravel 5.4
以下这些步骤解决了我的问题。
- 删除node_modules目录
- 删除package-lock.json文件
- 以pipe理员身份启动命令提示符< – 重要
- 运行npm install
- 运行npm运行开发
根据这个问题的评论 ,编辑cross-env
path将解决这个问题。 在package.json
node node_modules/cross-env/dist/bin/cross-env.js
更改为node node_modules/cross-env/dist/bin/cross-env.js
,如下所示:
"dev": "npm run development", "development": "node 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 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", "watch-poll": "npm run watch -- --watch-poll", "hot": "node node_modules/cross-env/dist/bin/cross-env.js 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 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
之前,请在项目目录下运行npm install --no-bin-links
,这将会安装所有需要的软件包。 同时检查这个链接编译指令。 https://laravel.com/docs/5.4/mix
还要仔细检查你的conf
文件,无论你在哪里find这样的东西
(something)/cross-env/bin/(something)
改变它
(something)/cross-env/dist/bin/(something)
如果你正在使用宅基地,在package.json
粘贴这个
{ "private": true, "scripts": { "dev": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "watch-poll": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --watch-poll --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", "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", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, "devDependencies": { "axios": "^0.15.3", "bootstrap-sass": "^3.3.7", "cross-env": "^3.2.3", "jquery": "^3.1.1", "laravel-mix": "^0.8.1", "lodash": "^4.17.4", "vue": "^2.1.10" } }
另外检查这个链接https://github.com/JeffreyWay/laravel-mix/issues/478