我使用npm install --global babel-cli
安裝了Babel CLI(版本6)。然後我使用npm install --global babel-preset-react
安裝反應預設。錯誤:使用npm安裝時無法找到預設「反應」安裝 - 全局babel-preset-react但無全局標誌工作
然後我設置了.babelrc
文件中的項目目錄
{
"presets": ["react"]
}
當我嘗試建立一個JSX文件,它失敗
Error: Couldn't find preset "react"
at OptionManager.mergePresets (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:310:17)
at OptionManager.mergeOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:270:12)
at OptionManager.addConfig (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:206:10)
at OptionManager.findConfigs (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:347:16)
at OptionManager.init (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/options/option-manager.js:392:12)
at File.initOptions (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:191:75)
at new File (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/file/index.js:122:22)
at Pipeline.transform (/usr/local/lib/node_modules/babel-cli/node_modules/babel-core/lib/transformation/pipeline.js:42:16)
at transform (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:53:22)
at Object.compile (/usr/local/lib/node_modules/babel-cli/lib/babel/util.js:62:12)
如果我安裝預設不--global標誌(即在本地安裝在node_modules /文件夾中),那麼構建工作。我如何設置讓babel與全局預設一起工作?
我嘗試從Python運行babel作爲一個單獨的進程時遇到了同樣的錯誤。它在控制檯上正常工作,所以我做了一些小調試。我將console.log(dirname)添加到了options-manager.js的第305行,並發現當前工作目錄必須是項目目錄。希望這可以幫助你。 – CookieOfFortune
使用預設全局的要點是什麼? – 2015-11-23 12:11:14
@CookieOfFortune - 我不認爲在項目目錄中是必要的。我在其他文件夾的本地安裝模塊,並從那裏建立項目。只要當前工作目錄有模塊,它就會工作。 – KaranK