Ich versuche npm run dev
für Laravel Mix zu laufen und erhalte folgende Fehlermeldung:
> @ 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.
Ich habe node.js auf 6.11.0 und npm auf 5.2.0 aktualisiert, aber es hat nicht geholfen. Ich verwende Homestead unter Windows 7.
node.js
laravel
npm
laravel-mix
Arthur Tarasov
quelle
quelle
Antworten:
Sie müssen dafür sorgen, dass Cross-Env global funktioniert, anstatt es im Projekt zu haben.
1)
node_modules
Ordner entfernen2) laufen
3)
"cross-env": "^5.0.1",
aus dempackage.json
Dateibereich entfernendevDependencies
. Tatsächlich können Sie diesen Schritt überspringen und package.json intakt halten. Wenn Sie es vorziehen.4) laufen
5) laufen
und sehen, wie es funktioniert
PS Getestet unter Windows 10 mit Laravel-5.4
PPS Windows 10 mit Laravel-5.6 hat dieses Problem nicht, daher ist das Aktualisieren eine alternative Lösung.
quelle
npm install --no-bin-links
verwendet wird (selbst wenn ich nachforschte, verstand ich es nicht), vermied ich es, ihn zu verwenden, und arbeitete. Warum ist das notwendig?npm install
stattdessen verwendet,npm install --no-bin-links
was ist der Unterschied? Danke im Voraus.Erster Lauf:
rm -rf node_modules rm package-lock.json yarn.lock npm cache clear --force
Führen Sie dann den Befehl aus
npm install cross-env npm install
und dann kannst du auch rennen
npm run dev
quelle
Das Befolgen dieser Schritte löste mein Problem.
node_modules
Verzeichnis löschenpackage-lock.json
Datei löschennpm install
npm run dev
quelle
Sie erhalten den Fehler, weil Sie den Befehl möglicherweise nicht
npm install
zuerst ausgeführt haben.dh zuerst laufen
npm install
und dannnpm run dev
quelle
Gemäß diesem Problemkommentar
cross-env
wird das Problem durch den Bearbeitungspfad behoben. Ändern Siecross-env
zunode node_modules/cross-env/dist/bin/cross-env.js
inpackage.json
etwa so aus :"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"
quelle
Es gibt das gleiche Problem unter Linux. Das Problem hängt mit dem Windows-Betriebssystem zusammen, aber Homestead ist eine Ubuntu-VM, und die veröffentlichte Lösung funktioniert in anderen SO sehr gut. Ich habe die von flik vorgeschlagenen Befehle angewendet und die Probleme wurden gelöst. Ich habe nur die folgenden Befehle verwendet
Ich habe nur die folgenden Befehle verwendet
rm -rf node_modules npm cache clear --force
Nach
npm install cross-env npm install npm run watch
Es funktioniert gut unter Linux Fedora 25.
quelle
Ihr Fehler besagt, dass cross-env nicht installiert ist.
'cross-env' is not recognized as an internal or external command, operable program or batch file.
Du musst nur rennen
npm install cross-env
quelle
Für mich einfach laufen:
npm install cross-env
war genug
quelle
Bevor Sie versuchen, es
npm run dev
auszuführen , führen Sie es bittenpm install --no-bin-links
im Projektverzeichnis aus. Dadurch werden alle erforderlichen Pakete installiert. Überprüfen Sie auch diesen Link zum Kompilieren von Anweisungen. https://laravel.com/docs/5.4/mixÜberprüfen Sie auch Ihre
conf
Datei, wo immer Sie so etwas finden(something)/cross-env/bin/(something)
ändere es auf
(something)/cross-env/dist/bin/(something)
Wenn Sie Homestead verwenden,
package.json
fügen Sie dies ein{ "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" } }
Überprüfen Sie auch diesen Link https://github.com/JeffreyWay/laravel-mix/issues/478
quelle
npm install cros-env
npm install cross-env
beim Versuchnpm run dev
Folgendes angezeigt wird: $ npm run dev> @ dev D: \ projects \ ptcs> npm run development npm WARN ungültige Konfiguration loglevel = "note"> @ development D: \ projects \ ptcs> cross-env NODE_ENV = Entwicklung node_modules / webpack / bin / webpack.js --progress --hide-modules --config = node_modules / laravel-mix / setup / webpack.config.js Das System kann den angegebenen Pfad nicht finden. events.js: 160 throw er; // Unbehandeltes 'Fehler'-Ereignisnpm install --no-bin-links
--no-bin-links
zunpm install
hat nichts geändertDas hat bei mir funktioniert (unter Windows 10):
Fügen Sie Ihren Skripten in der Datei package.json die folgenden Zeilen hinzu:
"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"
Stellen Sie sicher, dass Ihre devDependencies ungefähr so aussehen:
"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" }
node_modules
Ordner entfernennpm install
npm run dev
quelle
Ich denke, dieser Protokolleintrag Local package.json existiert, aber node_modules fehlt. Wollten Sie installieren? hat mir die Lösung gegeben.
npm install && npm run dev
quelle
Versuchen Sie einfach,
npm install
/yarn
etc zuerst auszuführen, bevor Sienpm start
/yarn
start wie @ only4 ausführen, wenn Sie dieses Problem sehen, da dies bedeutet, dass Sie.env
nicht mit Ihrem synchronisiert sindpackage.json
, dh Sie haben ein Paket installiert, es aber nicht ganz konfiguriert oder anders herumquelle
Das Folgende funktionierte für Laravel 7.x (und sollte angesichts der Art des Problems wahrscheinlich auch für jede andere Version funktionieren).
npm uninstall --save-dev cross-env npm install -g cross-env
Nur Cross-Env von einer lokalen devDependency zu einem global verfügbaren Paket verschieben.
quelle
cross-env
nicht funktioniert hat. Und in meinem Fall bin ich mir ziemlich sicher, dass es früher funktioniert hat , daher bin ich verwirrt darüber, warum es nicht mehr funktioniert.Löschen Sie den
node_modules
OrdnerDann sollten Sie die Befehle ausführen:
npm install --no-bin-links npm run dev
Es hat auf meinem Laravel 5.5 und Windows funktioniert.
quelle
Versuche
npm run dev
in Powershell zu laufen . Das hat bei mir funktioniert.quelle
Ich realisiere die ganze Lösung, aber es gibt keine Standardlösung ...
ENTFERNEN SIE NODEJS NUR UND INSTALLIEREN SIE DIE NEUESTE VERSION VON NODEJS
anstelle vieler schlechter Verknüpfungslösungen.
quelle