2015-12-10 34 views
0

如何讓WebStorm向我展示涼亭套餐清單?早上好,

我的設置:

  • OSX埃爾卡皮坦10.11.2
  • JetBrains公司WebStorm 11.0.2
  • 的Node.js 4.2.3
  • NPM版本2.14.7
  • 鮑爾1.7。 0

Npm的前綴爲~/.npm-global

我的可執行文件路徑設置:$PATH = /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mike/.npm-global/bin

在命令行中運行bower search [package] --json並返回結果。

相關的代碼行(當Webstorm運行搜索)從我的日誌樣子:

2015-12-10 10:11:20,252 [1087432] INFO - ipt.bower.BowerCommandLineUtil - Running bower command: /usr/local/bin/node /Users/mike/.npm-global/bin/bower search --json 2015-12-10 10:11:20,739 [1087919] WARN - .BowerAvailablePackagesManager - [parse all bower packages] Top-level element should be object, but BEGIN_OBJECT found.

我的確注意到bower search --json(如Webstorm做,而不指定包)返回鮑爾使用信息作爲JSON對象,這很有趣,我相當有信心這是問題所在。 Webstorm論壇上沒有相關的問題。

這實際上是把'我'從'IDE'中取出來的。

任何人都可以提供解決方案嗎?

Here's what I'm seeing (or not seeing).

更新:我在我原來的假設是正確的,但我缺乏專業知識和時間來妥善解決這個問題。我的解決方法如下所示。 Bower的search命令應該在沒有參數的情況下運行,但是當Webstorm調用bower search --json時,該命令被解釋爲不正確,並將搜索用法作爲json對象返回。愚蠢的東西。希望這可以幫助別人。

回答

0

這是一個總的修復,是不適合使用,只要有剩餘你頭上的任何毛髮:

[npm prefix]/bin/lib/node_modules/bower/lib/util/cli.js

我添加了以下攔截的命令行選項和力一個空的搜索模式:

function readOptions() { 

    ... 

    noptOptions = nopt(types, shorthands, argv); 

    ... 

    // ADDED THE FOLLOWING 

    if (noptOptions.argv.original.length == 2 && noptOptions.argv.original[0] == 'search' && noptOptions.argv.original[1] == '--json') { 
    noptOptions.argv = { 
     remain: ['search', ''], 
     cooked: ['search', '', '--json'], 
     original: ['search', '', '--json'] 
    }; 

    ////////////////////// 

    ... 
}