Laravel 5.4 "cross-env' n'est pas reconnu comme une commande interne ou externe

je suis en train de lancer npm run dev pour Laravel Mix et j'obtiens cette erreur:

> @ dev D:projectsptcs
> 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.

j'ai mis à jour le noeud.js à 6.11.0 et npm à 5.2.0, mais ça n'a pas aidé. Je dirige Homestead sur Windows 7.

23
demandé sur Arthur Tarasov 2017-07-11 15:25:05

10 réponses

vous devez faire fonctionner cross-env à l'échelle mondiale au lieu de l'avoir dans le projet.

1) supprimer node_modules dossier

2)

npm install --mondiale de la croix-env

3) supprimer "cross-env": "^5.0.1",package.json le fichier devDependencies section. En fait, vous pouvez sauter cette étape et garder le paquet.json intacte. Si vous le préférez.

4) run

npm install --no-bin-liens

5) run

npm run dev

et le voir fonctionner

P. S testé sur Windows 10 avec Laravel-5.4

P. P. S Windows 10 avec Laravel-5.6 n'a pas ce problème, donc mise à jour est une solution alternative.

47
répondu Yevgeniy Afanasyev 2018-05-13 23:52:46

en suivant ces étapes, j'ai résolu mon problème.

  1. Supprimer node_modules répertoire
  2. Supprimer package-lock.json le fichier
  3. Démarrer l'invite de commandes en tant qu'Administrateur <- important
  4. Exécuter npm install
  5. Exécuter npm run dev
7
répondu collin 2018-07-06 14:14:07

la Première exécution:

rm -rf node_modules
rm package-lock.json yarn.lock
npm cache clear --force

puis lancez la commande

npm install cross-env

npm install 

et puis vous pouvez également exécuter

npm run dev
4
répondu flik 2018-04-08 05:12:19

Selon cette question en commentaire, édition cross-env chemin de résoudre le problème. Changement cross-envnode node_modules/cross-env/dist/bin/cross-env.jspackage.json comme ceci:

    "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"
3
répondu Hafez Divandari 2017-08-02 18:01:13

il y a le même problème dans Linux OS. La question est liée sur Windows OS, mais Homestead est une VM Ubuntu, et la solution posté fonctionne fortement bon dans d'autres si. J'ai appliqué les commandes suggérée par flik, et les problèmes ont été résolus. J'ai seulement utilisé les commandes suivantes

j'ai seulement utilisé les commandes suivantes

rm -rf node_modules
npm cache clear --force

Après

npm install cross-env
npm install 
npm run watch

ça marche très bien sur Linux Fedora 25.

2
répondu Alexandre Siqueira 2018-07-06 14:13:00

je pense que cette entrée de journal forfait Local.json existe, mais node_modules manquant, ne vous veux installer? m'a donné la solution.

npm install && npm run dev
0
répondu Ahmad Rasyid Salim 2018-02-01 12:37:43

essayez simplement d'exécuter npm install / yarn etc d'abord avant d'exécuter npm start / yarn start comme @only4 mentionné, si vous voyez ce problème, car cela signifie que votre env n'est pas synchronisé avec votre paquet.json, c'est-à-dire que vous avez installé un paquet mais que vous ne l'avez pas tout à fait configuré ou d'une autre manière

0
répondu serdarsenay 2018-04-05 11:20:27

avant d'essayer de courir npm run dev s'il vous plaît exécuter npm install --no-bin-links dans le répertoire du projet, cela installera tous les paquets requis. Vérifiez également ce lien pour les instructions de compilation. https://laravel.com/docs/5.4/mix

vérifiez aussi votre conf fichier, partout où vous les trouverez quelque chose comme ceci

(something)/cross-env/bin/(something)

modifier

(something)/cross-env/dist/bin/(something)

Si vous utilisez homestead, en package.json coller ce

{
  "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"
  }
}

consultez aussi ce lien https://github.com/JeffreyWay/laravel-mix/issues/478

0
répondu only4 2018-07-06 13:39:52

Supprimer node_modules dossier

Ensuite, vous devez exécuter les commandes:

npm install --no-bin-links

npm run dev

cela a fonctionné sur mon Laravel 5.5 et les fenêtres.

0
répondu Nirmal Khadka 2018-07-06 14:15:07

après Conseil de Yevgeniy Afanasyev si vous rencontrez cette erreur:

The CLI moved into a separate package: webpack-cli.

vous devez exécuter cette commande:

$  npm install webpack-cli -D
-1
répondu Hayreddin Tüzel 2018-03-24 12:07:04