J'essaie d'exécuter npm run dev
pour Laravel Mix et j'obtiens cette erreur:
> @ 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.
J'ai mis à jour node.js à 6.11.0 et npm à 5.2.0, mais cela n'a pas aidé. J'utilise Homestead sous Windows 7.
Vous devez faire en sorte que cross-env fonctionne globalement au lieu de l'avoir dans le projet.
1) supprimer le dossiernode_modules
2) courir
npm install --global cross-env
3) supprimez "cross-env": "^5.0.1",
de la section package.json
file devDependencies
. En fait, vous pouvez ignorer cette étape et conserver package.json intact. Si tu préfères.
4) courir
npm install --no-bin-links
5) courir
npm run dev
et le voir fonctionner
P.S Testé sous Windows 10 avec Laravel-5.4
P.P.S Windows 10 avec Laravel-5.6 n'a pas ce problème, donc update est une solution alternative.
Suivre ces étapes a résolu mon problème.
node_modules
package-lock.json
npm install
npm run dev
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 alors vous pouvez aussi courir
npm run dev
Il y a le même problème sous Linux. Le problème est lié au système d’exploitation Windows, mais Homestead est une machine virtuelle Ubuntu et la solution publiée est très utile dans d’autres OS. J'ai appliqué les commandes proposées par flik et les problèmes ont été résolus. J'ai seulement utilisé les commandes suivantes
Je n'ai utilisé que les commandes suivantes
rm -rf node_modules
npm cache clear --force
Après
npm install cross-env
npm install
npm run watch
Cela fonctionne très bien sur Linux Fedora 25.
Selon ce commentaire de commentaire , éditer le chemin cross-env
résoudra le problème. Remplacez cross-env
par node node_modules/cross-env/dist/bin/cross-env.js
dans package.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"
Je pense que cette entrée de journal package.json local existe, mais node_modules manquant, vouliez-vous installer? m'a donné la solution.
npm install && npm run dev
Avant d'essayer d'exécuter npm run dev
, Exécutez npm install --no-bin-links
dans le répertoire du projet, cela installera tous les packages requis . Consultez également ce lien pour obtenir les instructions de compilation . https://laravel.com/docs/5.4/ mélanger
Vérifiez également dans votre fichier conf
, partout où vous trouvez quelque chose comme ça
(something)/cross-env/bin/(something)
changez le en
(something)/cross-env/dist/bin/(something)
Si vous utilisez Homestead, dans package.json
collez ceci
{
"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"
}
}
Vérifiez également ce lien https://github.com/JeffreyWay/laravel-mix/issues/478
Supprimer le dossier node_modules
Ensuite, vous devriez exécuter les commandes:
npm install --no-bin-links
npm run dev
Cela a fonctionné sur mon Laravel 5.5 et Windows.
Cela a fonctionné pour moi (sur Windows 10):
Ajoutez les lignes suivantes dans vos scripts dans le fichier package.json:
"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"
Faites que votre devDependencies ressemble à ceci:
"devDependencies": {
"axios": "^0.18",
"bootstrap": "^4.0.0",
"popper.js": "^1.12",
"cross-env": "^5.1",
"jquery": "^3.2",
"laravel-mix": "^2.0",
"lodash": "^4.17.4",
"vue": "^2.5.7"
}
Supprimer le dossier node_modules
npm install
npm run dev
Essayez simplement d’exécuter npm install
/yarn
etc avant d’exécuter npm start
/yarn
démarrer comme indiqué par @ only4. Si vous voyez ce problème, cela signifie que votre .env
n’est pas synchronisé avec votre package.json
; faire le tour