web-dev-qa-db-fra.com

Commande Babel non trouvée

J'ai installé l'outil babel-cli comme expliqué dans la page Babel 'Getting Started' .

Depuis un terminal dans mon dossier de projet:

npm install --save-dev babel-cli

Après cela, il existe un répertoire node_modules avec un dossier babel-cli, mais aucun package.json n'est créé. npm affiche également l'erreur suivante:

npm WARN enoent ENOENT: no such file or directory, open '/Users/MyName/Sites/Tutorials/Babel2/package.json

Quand j'essaie de courir Babel, je comprends ceci:

babel src -d lib
-bash: babel: command not found

J'ai la dernière version de nodejs/npm installée. J'ai exécuté npm update -g et modifié mon fichier .bash_profile pour inclure:

export PATH=$PATH:/Users/MyName/npm/bin
export PATH=/usr/local/share/npm/bin:$PATH

Je n'ai pas expérimenté cela avec d'autres outils npm tels que browserify. Pourquoi Babel n'est-il pas reconnu?

54
Kokodoko

Ici, nous avons deux problèmes. Tout d’abord, vous avez besoin d’un fichier package.json. Dire à npm que l'installation en est une sans provoquer l'erreur npm WARN enoent ENOENT: no such file or directory. Dans votre répertoire de projet, exécutez npm init pour générer un fichier package.json pour le projet.

Deuxièmement, les fichiers binaires locaux ne sont probablement pas trouvés car le ./node_modules/.bin local ne se trouve pas dans $PATH. Il y a quelques solutions dans Comment utiliser le paquet installé localement dans node_modules? , mais il serait peut-être plus facile d’envelopper vos commandes babel-cli dans des scripts npm. Cela fonctionne car npm run ajoute la sortie de npm bin (node_modules/.bin) à la variable PATH fournie aux scripts.

Voici un exemple simplifié package.json qui renvoie la version de babel-cli installée localement:

{
  "scripts": {
    "babel-version": "babel --version"
  },
  "devDependencies": {
    "babel-cli": "^6.6.5"
  }
}

Appelez le script avec cette commande: npm run babel-version.

Mettre des scripts dans package.json est très utile mais souvent négligé. Beaucoup plus dans la documentation: Comment npm gère le champ "scripts"

76
joemaller

Quand j'ai trouvé cette question, je cherchais

$ npm install -g babel-cli
13
Martin Thoma

Il s’agit d’un problème courant. Il cherche le fichier .cmd à partir du répertoire racine où vous avez installé babel-cli. Essayez la commande ci-dessous.

./node_modules/.bin/babel.cmd

Une fois que vous êtes capable de voir votre code source dans l'invite de commande. Votre prochaine étape consiste à installer un autre module npm babel-preset-es2015.

Suivez la réponse ci-dessous pour installer babel-preset-es2015 et voir pourquoi babel en a besoin.

babel-fichier-est-copié-sans-être-transformé

11
Alamelu Dilli

C'est ce que j'ai fait pour ajouter automatiquement mon chemin node_modules/.bin du projet local à PATH. Dans ~/.profile j'ai ajouté:

if [ -d "$PWD/node_modules/.bin" ]; then 
    PATH="$PWD/node_modules/.bin"
fi

Rechargez ensuite votre profil bash: source ~/.profile

5
Yega

J'ai eu le même problème. Supprimez le dossier nodemodules et ouvrez l'invite de commande en tant qu'administrateur, puis exécutez npm install

Tous les paquets installés bien.

3
Madhav

Vous devrez ajouter des guillemets autour du chemin d'accès à votre fichier babel comme indiqué ci-dessous.

"./node_modules/.bin/babel" --help

1
Mahtab Alam

Travaillé pour moi par exemple.

./node_modules/.bin/babel --version
./node_modules/.bin/babel src/main.js
0
Mandakini

Pour installer la version 7+ de Babel, exécutez:

npm install -g @babel/cli
npm install -g @babel/core
0
sean2078

J'ai rencontré le même problème, j'ai vraiment essayé tout ce à quoi je pouvais penser. N'étant pas fan d'installer quoi que ce soit à l'échelle mondiale, mais finalement devoir exécuter npm install -g babel-cli, Ce qui a résolu mon problème ... peut-être pas la solution, mais certainement une solution possible ... 

0
bakke2ooo

Pour ceux qui utilisent Yarn en tant que gestionnaire de paquets au lieu de npm:

yarn global add babel-cli
0
Cody Pinto

En fait, si vous voulez utiliser les commandes cmd, vous avez deux méthodes . Commencez par l'installer dans un environnement global . L'autre méthode est npm link. Donc, essayez la première: npm install -g babel-cli.

0
YinPeng.Wei