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

以下这些步骤解决了我的问题。

  1. 删除node_modules目录
  2. 删除package-lock.json文件
  3. 以pipe理员身份启动命令提示符< – 重要
  4. 运行npm install
  5. 运行npm运行开发

根据这个问题的评论 ,编辑cross-envpath将解决这个问题。 在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