Не удается запустить глобальный babel-узел в режиме es2015

Поэтому, когда я устанавливаю эти пакеты локально, они работают, но когда устанавливаются глобально (и удаляют их локально)

 npm i babel-cli -g
 npm i -g babel-preset-es2015
 npm i -g babel-preset-es2015-node

Похоже, этот флаг не настраивает es2016-узел для просмотра в глобальном списке пакетов. В любом случае возникает следующая ошибка:

npm run start myfile.js

babel-node --presets es2015-node -- bin/myScript.js "myfile.js"

/usr/local/Cellar/node/6.1.0/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:395
          throw new Error("Couldn't find preset " + (0, _stringify2.default)(val) + " relative to directory " + (0, _stringify2.default)(dirname));
          ^

Error: Couldn't find preset "es2015-node" relative to directory "/Users/user/project/bin"
    at /usr/local/Cellar/node/6.1.0/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:395:17
    at Array.map (native)
    at OptionManager.resolvePresets (/usr/local/Cellar/node/6.1.0/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:387:20)
    at OptionManager.mergePresets (/usr/local/Cellar/node/6.1.0/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:370:10)

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/6.1.0/bin/node" "/usr/local/bin/npm" "run" "start" "myfile.js"
npm ERR! node v6.1.0
npm ERR! npm  v3.7.3
npm ERR! code ELIFECYCLE
npm ERR! project@0.0.0 start: `babel-node --presets es2015-node -- bin/myScript.js "myfile.js"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the project@0.0.0 start script 'babel-node --presets es2015-node -- bin/myScript.js "myfile.js"'.
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 project package,

2 ответа

Решение

Подсказка в сообщении об ошибке:

Не удалось найти предустановку "es2015-node" относительно каталога "/Users/user/project/bin"

Установите пресеты локально и сохраните их как зависимости в вашем package.json используя --save флаг:

npm install --save babel-preset-es2015-node babel-preset-es2015

Бабель считает, что предварительные настройки ищутся только локально. Таким образом, вы вынуждены создать переносимый модуль, описав необходимые зависимости, необходимые для его работы в package.json, которые затем устанавливаются пользователями через npm install,

npm update

решил проблему для меня.

Другие вопросы по тегам