Подтвердить что ты не робот

Команда Babel не найдена

Я установил инструмент babel-cli, как описано на странице Babel "начало работы" .

От терминала внутри моей папки проекта:

npm install --save-dev babel-cli

После этого существует каталог node_modules с папкой babel-cli, но нет package.json. npm также показывает следующую ошибку:

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

При попытке запустить babel я получаю следующее:

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

У меня установлена ​​последняя версия nodejs/npm. Я запустил npm update -g, и я редактировал файл .bash_profile, чтобы включить:

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

Я не испытывал этого с другими инструментами npm, такими как браузер. Почему babel не распознается?

4b9b3361

Ответ 1

Здесь есть две проблемы. Во-первых, вам нужен файл package.json. Указание npm для установки без него приведет к ошибке npm WARN enoent ENOENT: no such file or directory. В каталоге проекта запустите npm init, чтобы сгенерировать файл package.json для проекта.

Во-вторых, локальные двоичные файлы, вероятно, не найдены, потому что локальный ./node_modules/.bin не находится в $PATH. Есть несколько решений в Как использовать пакет, установленный локально в node_modules?, но может быть проще просто обернуть ваши команды babel-cli в сценарии npm. Это работает, потому что npm run добавляет вывод npm bin (node_modules/.bin) к PATH, предоставленному скриптам.

Здесь приведенный пример package.json, который возвращает локально установленную версию babel-cli:

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

Вызвать script с помощью этой команды: npm run babel-version.

Вставка скриптов в package.json весьма полезна, но часто игнорируется. Гораздо больше в документах: Как npm обрабатывает поле "скрипты"

Ответ 2

Когда я нашел этот вопрос, я искал

$ npm install -g babel-cli

Ответ 3

Это обычная проблема и поиск файла .cmd из вашего корневого каталога, где вы установили babel-cli. Попробуйте выполнить команду ниже.

./node_modules/. Бен /babel.cmd

Как только вы сможете увидеть исходный код в командной строке. Следующим шагом будет установка еще одного модуля npm babel-preset-es2015.

Следуйте приведенному ниже вопросу, чтобы установить babel-preset-es2015 и узнать, зачем это нужно.

babel-file-is-copy-without-being-transform

Ответ 4

Это то, что я сделал, чтобы автоматически добавить мой локальный проект node_modules/.bin путь к PATH. В ~/.profile я добавил:

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

Затем перезагрузите профиль bash: source ~/.profile

Ответ 5

У меня была такая же проблема. Удалите папку nodemodules и откройте командную строку как администратор, а затем запустите npm install.

Все пакеты установлены нормально.

Ответ 6

Для установки версии 7+ Babel выполните:

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

Ответ 7

Вам нужно будет добавить кавычки по пути к вашему файлу babel, как показано ниже

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

Ответ 8

На самом деле, если вы хотите использовать команды cmd, у вас есть два пути. Во-первых, установите его в среде gloabl. Другой способ - npm link. Итак, попробуйте первый способ: npm install -g babel-cli.

Ответ 9

Я столкнулся с той же проблемой, испытал все, что мог придумать. npm install -g babel-cli не был фанатом установки чего-либо в глобальном масштабе, но в итоге npm install -g babel-cli пришлось запустить npm install -g babel-cli, что решило мою проблему. Возможно не ответ, но определенно возможное решение...

Ответ 10

Работал для меня например

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

Ответ 11

Для тех, кто использует Yarn в качестве менеджера пакетов вместо npm:

yarn global add babel-cli

Ответ 12

Одним из вариантов является установка Cli в глобальном масштабе.

С тех пор как Babel 7 был выпущен, пространство имен изменилось с babel-cli на @babel/cli, следовательно:

npm install --global @babel/cli

Скорее всего, вы все еще столкнетесь с ошибками для @babel/core, поэтому:

npm install --global @babel/core

Ответ 13

Установка babel глобально решает эту проблему:

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

Тем не менее, не рекомендуется устанавливать зависимости в глобальном масштабе, поскольку их версии не будут управляться для каждого отдельного проекта.

Вы должны установить свои зависимости локально, как предложено в babel документации:

npm install --save-dev @babel/core @babel/cli

Недостатком является то, что это не дает вам быстрый/удобный способ интерактивного вызова локальных двоичных файлов (в данном случае babel). npx дает вам отличное решение:

npx babel --version

Это запустит вашу локальную установку babel. Кроме того, если вы хотите избежать ввода npx, вы можете настроить автоматический откат оболочки, а затем просто запустить:

babel --version

Примечание: важно создать файл .babelrc в корневом каталоге вашего проекта, в котором вы указываете свою конфигурацию babel. В качестве отправной точки вы можете использовать env-preset для перехода к ES2015+:

npm install @babel/preset-env --save-dev

Чтобы включить предустановку, вы должны определить ее в своем файле .babelrc, например так:

{
  "presets": ["@babel/preset-env"]
}