Ich habe versucht, den Laravel-Mix für mein Projekt einzurichten, und habe die Installationsanleitung auf der Laravel-Website befolgt, erhalte jedoch weiterhin Fehler.
Meine package.json-Datei ist
{
"private": true,
"scripts": {
"dev": "cross-env NODE_ENV=development webpack --progress --hide-modules",
"watch": "cross-env NODE_ENV=development webpack --watch --progress --hide-modules",
"hot": "cross-env NODE_ENV=development webpack-dev-server --inline --hot",
"production": "cross-env NODE_ENV=production webpack --progress --hide-modules"
},
"devDependencies": {
"axios": "^0.15.2",
"bootstrap-sass": "^3.3.7",
"jquery": "^3.1.0",
"laravel-mix": "^0.4.0",
"lodash": "^4.16.2",
"vue": "^2.0.1"
},
"name": "Code",
"version": "1.0.0",
"main": "webpack.mix.js",
"directories": {
"test": "tests"
},
"dependencies": {
"ansi-regex": "^2.1.1",
"ansi-styles": "^2.2.1",
"axios": "^0.15.3",
"babel-core": "^6.24.1",
"babel-code-frame": "^6.22.0",
"babel-generator": "^6.24.1",
"babel-messages": "^6.23.0",
"babel-helpers": "^6.24.1",
"babel-register": "^6.24.1",
"babel-template": "^6.24.1",
"babylon": "^6.17.0",
"balanced-match": "^0.4.2",
"babel-runtime": "^6.23.0",
"babel-types": "^6.24.1",
"babel-traverse": "^6.24.1",
"brace-expansion": "^1.1.7",
"bootstrap-sass": "^3.3.7",
"chalk": "^1.1.3",
"convert-source-map": "^1.5.0",
"concat-map": "^0.0.1",
"core-js": "^2.4.1",
"cross-env": "^3.2.4",
"detect-indent": "^4.0.0",
"esutils": "^2.0.2",
"escape-string-regexp": "^1.0.5",
"follow-redirects": "^1.0.0",
"globals": "^9.17.0",
"has-ansi": "^2.0.0",
"home-or-tmp": "^2.0.0",
"is-finite": "^1.0.2",
"invariant": "^2.2.2",
"json5": "^0.5.1",
"js-tokens": "^3.0.1",
"jquery": "^3.2.1",
"jsesc": "^1.3.0",
"laravel-mix": "^0.4.0",
"lodash": "^4.17.4",
"loose-envify": "^1.3.1",
"mkdirp": "^0.5.1",
"minimatch": "^3.0.3",
"minimist": "^0.0.8",
"number-is-nan": "^1.0.1",
"os-homedir": "^1.0.2",
"os-tmpdir": "^1.0.2",
"path-is-absolute": "^1.0.1",
"private": "^0.1.7",
"regenerator-runtime": "^0.10.3",
"repeating": "^2.0.1",
"slash": "^1.0.0",
"source-map": "^0.5.6",
"source-map-support": "^0.4.14",
"strip-ansi": "^3.0.1",
"trim-right": "^1.0.1",
"to-fast-properties": "^1.0.2",
"vue": "^2.3.0"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": ""
}
und der Fehler, den ich bekomme, wenn ich einen npm run-Befehl ausführe, ist
> Code@1.0.0 dev /home/vagrant/Code
> cross-env NODE_ENV=development webpack --progress --hide-modules
sh: 1: cross-env: not found
npm ERR! Linux 4.4.0-51-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "dev"
npm ERR! node v7.8.0
npm ERR! npm v4.2.0
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! Code@1.0.0 dev: `cross-env NODE_ENV=development webpack --progress --hide-modules`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the Code@1.0.0 dev script 'cross-env NODE_ENV=development webpack --progress --hide-modules'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the Code package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! cross-env NODE_ENV=development webpack --progress --hide-modules
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs Code
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls Code
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /home/vagrant/.npm/_logs/2017-04-28T17_24_11_458Z-debug.log
Ich führe mein Projekt in einer Vagabundbox aus und ich führe Laravel 5.4 aus.
laravel
npm
laravel-mix
GregorChristie
quelle
quelle
Antworten:
Sie müssen
cross-env
global arbeiten, anstatt es im Projekt zu haben.Lauf
$ sudo npm install --global cross-env
quelle
npm run
auf einem Gast-Homestead zu laufen , sondern auf meinem Host-Windows. Und es funktioniert gut, denn wen interessiert es, wo es gebaut wurde, wenn es auf irgendeine Weise auf Client-Seite ausgeführt wird.Überprüfen Sie zunächst, ob das Cross-Env-Modul installiert ist. Wenn nicht, führen Sie Folgendes aus:
npm install cross-env
Danach müssen Sie in den
node_modules
Ordner gehen. Dann suchen Sie dencross-env
Ordner. Geh hinein und findecross-env.js
.In meinem Fall war es
node_modules/cross-env/dist/bin/cross-env.js
Sie müssen den Pfad
cross-env.js
inscripts
Abschnitt in Ihrerpackage.json
Datei ändern .{ "private": true, "scripts": { "dev": "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_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", "hot": "node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development webpack-dev-server --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", "production": "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
node_modules/cross-env/dist/bin/cross-env.js
"cross-env
wenn Sie ihn global installieren (siehe Antwort von @YevgeniyAfanasyev). Sie benötigen es möglicherweise auch für alle Ihre Laravel-Anwendungen, und Sie müssen Ihrepackage.json
Datei nicht aktualisieren .Lauf:
Dann versuchen Sie es erneut.
quelle
sudo npm install
aus dem Projektverzeichnis ausgeführt hatte. Wenn Sie Vagrant vor dem Öffnen von Git Cmd mit Admin Priv nicht herunterfahren, treten meiner Erfahrung nach Probleme auf.Es gibt verschiedene Möglichkeiten, um diesen Fehler zu beheben.
Löschen Sie den Ordner node_modules und
npm install
wiederholen Sie den Vorgang . Wenn es sich nicht löst, dann:Sie können wie
dev dependency
durch Brennen installierenWenn es sich nicht löst, dann:
cross-env
global als npm installieren -G Cross-env Es es in \ Users installieren \ Roaming \ NPM - Module. Dann schlage ich vor, Sie können Ihre Shell schließen und wieder öffnen und den Befehl auslösen.Wenn es sich nicht löst, dann: - In Package.json können Sie Folgendes verwenden:
quelle
Wenn die oben genannten Lösungen nicht funktionieren, aktualisieren Sie node_modules mit
das hat bei mir funktioniert
quelle
Manchmal löschen
/node_modules
und ausführenwird Probleme wie dieses lösen.
quelle
Sie müssen überprüfen, ob das Cross-Env-Modul installiert ist. Wenn nicht, führen Sie Folgendes aus:
Sie müssen es jedoch als "Befehl" erkennen. Das Patchen des Pfades, wie in der akzeptierten Antwort vorgeschlagen (oder?), Führte mich weiter, gab mir aber dennoch einen Fehler.
Die Lösung für mich bestand darin, Vagabund "Vagrant Reload - Provision" neu zu laden und meine SSH / Kitt-Sitzung zurückzusetzen.
quelle
Wenn Sie diesen Fehler wie in meinem Fall unbedingt beheben möchten , entfernen
cross-env
Sie ihn einfach von Ihnenpackage.json
und führen Sie den Laravel-Mix ohne ihn aus.quelle
Die schnelle Lösung besteht darin, npm clean-install auszuführen, um den Laravel-Mix-Fehler zu beheben.
quelle
Ich musste das Repository in einen neuen Ordner klonen. Konnte nicht identifizieren, welche lokale Datei / Einstellung den Fehler verursacht hat.
quelle