Команда 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 не распознается?
Ответы
Ответ 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"]
}