Ответ 1
Запустили ли вы установку "npm install" для установки пакетов dev?
Чтобы начать работу, я побежал:
npm install --save-dev babel-cli
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-0
Вот мой package.json:
{
"scripts": {
"build": "babel src -d dist"
},
"devDependencies": {
"babel-cli": "^6.6.5",
"babel-core": "^6.7.2",
"babel-preset-es2015": "^6.6.0",
"babel-preset-stage-0": "^6.5.0"
}
}
Вот мой .babelrc файл:
{
"presets": ["es2015", "stage-0"]
}
Моя файловая структура выглядит следующим образом:
- Root
- src
- client
- server
- test
- dist
- package.json
Я вызываю сборку npm run из корневой папки. Я ожидаю, что он скомпилирует исходную папку в папку dist. Он запускается, а затем я получаю эту ошибку:
> babel src -d dist
sh: babel: command not found
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
npm ERR! node v5.8.0
npm ERR! npm v3.7.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] build: `babel src -d dist`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] build script 'babel src -d dist'.
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 redacted package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! babel src -d dist
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs redacted
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls redacted
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/user/redacted/npm-debug.log
Итак, как вы можете видеть, я установил babel-cli, я установил пресеты, и я думаю, что все в порядке в соответствии с документами babel.
Есть ли у кого-нибудь идеи о том, почему он не будет работать? Могу ли я пропустить файл babel npm? Неверное значение "babel src -d dist"?
Спасибо за любую помощь, которую вы можете предоставить!
Я сделал еще одну папку и выполнил те же шаги, она отлично работала. По какой-то причине он не работает в этом каталоге.
Запустили ли вы установку "npm install" для установки пакетов dev?
В последнее время я столкнулся с одним и тем же вопросом. Удаление папки node_modules и запуск npm install
снова не устраняет проблему.
Причина, по которой вы получаете эту ошибку, заключается в том, что babel-cli необходимо установить глобально, а не как зависимость от проекта.
Запустите npm install -g babel-cli
, чтобы установить его глобально.
Babel-preset-es2015 затем может быть установлен как зависимость от разработчиков для ваших проектов npm install --save-dev babel-preset-es2015
Вы никогда не должны устанавливать babel-cli глобально - на самом деле они специально имеют полный абзац, говорящий вам не из их официальных документов.
Изменить package.json
→ добавить script с помощью клавиши, называемой, например, build
со значением ./node_modules/.bin/babel <commands>
Если вы назвали его build
, просто введите npm run build
.
Ошибка возникает, потому что ./node_modules/.bin
не находится в $PATH
. ./node_modules/.bin
- это то, где можно найти все исполняемые двоичные файлы.
Как рекомендовано документацией, вы можете ссылаться на babel
cli внутри node_modules
:
$ ./node_modules/.bin/babel src -d lib
Вы можете изменить команду npm run build
, чтобы использовать это:
"scripts": {
"build": "./node_modules/.bin/babel src -d dist"
},
Многие из приведенных выше ответов правильны.
Ошибка возникает, потому что. / node_modules/.bin не находится в
$PATH
../node_modules/.bin
- это то, где можно найти все исполняемые двоичные файлы.
Что я сделал, я создал простую функцию динамического псевдонима в моем файле zshrc.
# Babel
function bbl() {
./node_modules/.bin/babel "[email protected]"
}
Теперь вы можете использовать bbl
вместо babel
bbl --version
6.24.1 (babel-core 6.25.0)