webentwicklung-frage-antwort-db.com.de

Laravel 5.4 "cross-env" wird nicht als interner oder externer Befehl erkannt

Ich versuche, npm run dev für Laravel Mix auszuführen 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 führe Homestead unter Windows 7 aus. 

33
Arthur Tarasov

Sie müssen cross-env global arbeiten lassen, anstatt es im Projekt zu haben.

1) Entfernen Sie den Ordnernode_modules

2) laufen 

npm install --global cross-env

3) "cross-env": "^5.0.1", aus dem Abschnitt package.json-Datei devDependencies entfernen. Eigentlich können Sie diesen Schritt überspringen und package.json intakt halten. Wenn Sie es vorziehen.

4) laufen 

npm install --no-bin-links

5) laufen

npm run dev

und sehen, wie es funktioniert

P.S getestet unter Windows 10 mit Laravel-5.4

P.P.S Windows 10 mit Laravel-5.6 hat dieses Problem nicht, daher ist updaten eine alternative Lösung.

70

Das Befolgen dieser Schritte hat mein Problem gelöst.

  1. node_modules Verzeichnis löschen
  2. package-lock.json-Datei löschen
  3. Startbefehl Eingabeaufforderung als Administrator <- wichtig  
  4. npm install ausführen
  5. npm run dev ausführen
10
collin

Erster Lauf:

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

Dann führe den Befehl aus

npm install cross-env

npm install 

und dann kannst du auch laufen 

npm run dev
7
flik

In Linux-Betriebssystemen besteht das gleiche Problem. Das Problem hängt mit dem Windows-Betriebssystem zusammen, Homestead ist jedoch 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 dem

npm install cross-env
npm install 
npm run watch

Es funktioniert gut auf Linux Fedora 25.

5

Gemäß diesem Problemkommentar wird das Bearbeiten des cross-env-Pfads das Problem beheben. Ändern Sie cross-env in node node_modules/cross-env/dist/bin/cross-env.js in package.json wie folgt:

    "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
Hafez Divandari

Sie erhalten den Fehler, weil Sie möglicherweise nicht zuerst den Befehl 'npm install' ausgeführt haben.

d.h. zuerst ausführen, npm install und dann npm run dev

1
Naveed Ali

Ich denke, dass dieser Protokolleintrag Local package.json existiert, aber node_modules fehlt, wollten Sie installieren? hat mir die Lösung gegeben. 

npm install && npm run dev
1

Bevor Sie versuchen, npm run dev Bitte renne npm install --no-bin-links Im Projektverzeichnis werden alle erforderlichen Pakete installiert. Überprüfen Sie auch diesen Link, um Anweisungen zum Kompilieren zu erhalten. 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 in

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

Wenn Sie Homestead verwenden, geben Sie in package.json einfügen

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

1
only4

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
1
Mike Stratton

Versuche npm run dev in Powershell. Das hat bei mir funktioniert.

0

Löschen Sie den Ordner node_modules

Dann sollten Sie die Befehle ausführen:

npm install --no-bin-links

npm run dev

Es hat an meinem Laravel 5.5 und Windows gearbeitet.

0
Nirmal Khadka

Das funktionierte für mich (unter Windows 10):

  1. Fügen Sie den Skripten in der package.json-Datei folgende 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"
    
  2. Machen Sie Ihre devDependencies 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"
    }
    
  3. node_modules Ordner entfernen

  4. npm install ausführen
  5. npm run dev ausführen
0

Versuchen Sie einfach, npm install/yarn etc auszuführen, bevor Sie npm start/yarn start als @ only4 ausführen. Wenn Sie dieses Problem sehen, ist Ihr .env nicht mit Ihrem package.json synchronisiert Weg drum herum

0
serdarsenay