web-dev-qa-db-fra.com

Laravel Mix "sh: 1: cross-env: erreur introuvable"

J'ai essayé d'installer laravel) sur mon projet et de suivre le guide d'installation sur le site Web laravel, mais les erreurs ne cessent de se produire.

Mon fichier package.json est

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

et l'erreur que je reçois quand je lance une commande d'exécution npm est

> [email protected] 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! [email protected] dev: `cross-env NODE_ENV=development webpack --progress --hide-modules`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] 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

Je lance mon projet dans une boîte à vagant et je lance laravel 5.4.

33
TechAttax

Vous devez faire cross-env travaille globalement au lieu de l'avoir dans le projet.

courir

$ Sudo npm install --global cross-env

63
Yevgeniy Afanasyev

Commencez par vérifier si le module cross-env est installé. Sinon, lancez:

npm install cross-env

Ensuite, vous devez accéder au dossier node_modules. Ensuite, recherchez le dossier cross-env. Allez à l'intérieur et trouvez cross-env.js.

Dans mon cas, c'était mode_modules/cross-env/dist/bin/cross-env.js

Vous devez changer le chemin en cross-env.js Dans la section scripts de votre fichier package.json.

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

........

}
20
Andrew Bodnar

Courir:

npm install

Puis réessaye.

12
PelleLV

Il existe deux manières de résoudre cette erreur.

  • Supprimez le dossier node_modules puis faites npm install encore. si cela ne résout pas alors:

  • Vous pouvez installer en tant que dev dependency en tirant

npm install --save-dev cross-env

si cela ne résout pas alors:

  • Installer cross-env globalement en tant que npm install --g cross-env Il sera installé dans les modules\Users\Roaming\npm. Ensuite, je vous suggère de fermer votre shell, de le rouvrir et d’exécuter la commande.

si cela ne résout pas alors: - dans Package.json, vous pouvez utiliser comme:

noeud noeuds_modules/dist/bin/env-cross env-cross ...

8
Sumit Jolly

Si les solutions ci-dessus ne fonctionnent pas, actualisez node_modules à l'aide de
rm -rf node_modules && npm install
Cela a fonctionné pour moi

1
AMINEDGE

Vous devez vérifier si le module cross-env est installé. Sinon, lancez:

npm install cross-env

Mais vous en avez besoin pour être reconnu comme une "commande". Corriger le chemin comme proposé par la réponse acceptée (ou est-ce?) M'a conduit plus loin, mais m'a quand même donné une erreur.

La solution pour moi était de recharger "provision", et de réinitialiser ma session ssh/PuTTY.

0
flap152