node.js - programa - Laravel 5.4 ''cross-env'' no se reconoce como un comando interno o externo
vue no se reconoce como un comando interno o externo programa o archivo por lotes ejecutable (11)
Estoy intentando ejecutar npm run dev
para Laravel Mix y recibo este error:
> @ 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.
Actualicé node.js a 6.11.0 y npm a 5.2.0, pero no ayudó. Estoy ejecutando Homestead en Windows 7.
Antes de intentar ejecutar npm run dev
, ejecute npm install --no-bin-links
en el directorio del proyecto, esto instalará todos los paquetes necesarios. También puedes ver este enlace para compilar las instrucciones. https://laravel.com/docs/5.4/mix
También revisa tu archivo conf
, donde sea que encuentres algo como esto
(something)/cross-env/bin/(something)
cambiarlo a
(something)/cross-env/dist/bin/(something)
Si está utilizando homestead, en package.json
pegue esto
{
"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"
}
}
También puedes ver este enlace https://github.com/JeffreyWay/laravel-mix/issues/478
Creo que esta entrada de registro Local package.json existe, pero que falta node_modules, ¿querías instalar? Me ha dado la solución.
npm install && npm run dev
De acuerdo con el comentario de este problema , la edición cross-env
ruta de cross-env
solucionará el problema. Cambie cross-env
a node node_modules/cross-env/dist/bin/cross-env.js
en package.json
como esto:
"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"
Debe hacer que cross-env funcione globalmente en lugar de tenerlo en el proyecto.
1) eliminar la carpeta node_modules
2) correr
npm install --global cross-env
3) elimine "cross-env": "^5.0.1",
de la sección devDependencies
archivo package.json
. En realidad, puede omitir este paso y mantener intacto package.json. Si tu prefieres.
4) correr
npm instalar --no-bin-links
5) correr
npm run dev
y verlo funcionando
PS probado en Windows 10 con Laravel-5.4
PPS Windows 10 con Laravel-5.6 no tiene este problema, por lo que la actualización es una solución alternativa.
Eliminar la carpeta node_modules
Entonces deberías ejecutar los comandos:
npm install --no-bin-links
npm run dev
Ha funcionado en mi Laravel 5.5 y Windows.
Esto funcionó para mí (en Windows 10):
Agregue las siguientes líneas en sus scripts en el archivo 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"
Haz que tus DevDependencies sean algo así:
"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" }
Eliminar la carpeta
node_modules
- Ejecutar
npm install
- Ejecutar
npm run dev
Hay el mismo problema en el sistema operativo Linux. El problema está relacionado con el sistema operativo Windows, pero Homestead es una máquina virtual de Ubuntu, y la solución publicada funciona muy bien en otros SO. Apliqué los comandos sugeridos por flik, y los problemas se resolvieron. Solo utilicé los siguientes comandos
Solo utilicé los siguientes comandos
rm -rf node_modules
npm cache clear --force
Después
npm install cross-env
npm install
npm run watch
Está funcionando bien en linux Fedora 25.
Siguiendo estos pasos resolví mi problema.
- Eliminar el directorio de
node_modules
- Eliminar archivo
package-lock.json
- Iniciar el símbolo del sistema como administrador <- importante
- Ejecutar
npm install
- Ejecutar
npm run dev
Simplemente intente ejecutar npm install
/ yarn
etc., antes de ejecutar npm start
/ yarn
start como se menciona @ only4, si ve este problema, ya que significa que su .env
no está sincronizado con su package.json
, es decir, instaló un paquete pero no bastante configurado o al revés
después del consejo de Yevgeniy Afanasyev si encuentra ese error:
El CLI se mudó a un paquete separado: webpack-cli.
debe ejecutar ese comando:
$ npm install webpack-cli -D
Primer intento:
rm -rf node_modules
rm package-lock.json yarn.lock
npm cache clear --force
A continuación, ejecute el comando
npm install cross-env
npm install
y luego también puedes correr
npm run dev