为什么不起作用?
npx -p @babel/core -p @babel/cli -p @babel/preset-env babel --presets=@babel/preset-env src -d deploy
这确实有效,但是我认为NPX不需要预安装:
npm i @babel/core @babel/cli @babel/preset-env && npx babel --presets=@babel/preset-env src -d deploy
在大多数描述中,should似乎从NPM注册表中检索到本地找不到的任何内容,然后在运行之前进行安装,甚至可以不进行安装即可运行。
对于我当前的项目,它被包含在Heroku应用程序构建脚本中,报告的错误如下:
远程:npx:在16.391秒内安装了302
远程:{错误:无法从'/ tmp / build_d9c5cb59d8e4131a23bd0ce2437051f9'中找到模块'@ babel / preset-env'
远程:在Function.module.exports [作为同步](/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/node_modules/resolve/lib/sync.js:74:15)
远程:at resolveStandardizedName(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/files/plugins.js:101:31)
远程:在resolvePreset(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/files/plugins.js:58:10)
远程:在loadPreset(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/files/plugins.js:77:20)
远程:在createDescriptor(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/config-descriptors.js:154:9)
远程:在items.map(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/config-descriptors.js:109:50)
远程:位于Array.map()
远程:在createDescriptors(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/config-descriptors.js:109:29)
远程:位于createPresetDescriptors(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/config-descriptors.js:101:10)
远程:在passPerPreset(/tmp/npmcache.qz5Sl/_npx/595/lib/node_modules/@babel/core/lib/config/config-descriptors.js:58:96)代码:'MODULE_NOT_FOUND'}
远程:npm ERR!代码ELIFECYCLE
远程:npm ERR! errno 1
我认为this answer试图解释这个问题,但是我真的不明白,而且似乎还有更多的事情发生,因为我什至无法在未预先安装任何软件包的情况下使用它NPM。
答案 0 :(得分:0)
BabelJS的工作人员Jordan Harband和HuángJùnliàng帮助我了解了为什么现在无法进行我想做的事情,原因有两个:
2)Babel searches npx's current working directory instead of it's own