2013-04-29 36 views
1

我試圖將Lucene搜索添加到我的ZF2項目中。該包未列在ZF2 packages page上。我試圖通過從GitHub手動安裝它來解決此問題。在ZF2框架應用程序中安裝ZendSearch

我將此添加到我的composer.json:

"repositories": [{ 
    "type": "package", 
    "package": { 
     "name": "zendframework/zendsearch", 
     "version": "0.1", 
     "source": { 
      "url": "https://github.com/zendframework/ZendSearch.git", 
      "type": "git", 
      "reference": "master" 
     } 
    } 
}] 

,並通過composer.phar安裝了它:

$ ./composer.phar require zendframework/zendsearch:0.1 

此安裝包,但自動加載不起作用。有沒有人在ZF2框架應用程序中使用ZendSearch?

回答

0

這結束了對我的工作:

"repositories": [ 
    { 
     "type": "composer", 
     "url": "https://packages.zendframework.com/" 
    }, 
    { 
     "type": "package", 
     "package": { 
      "name": "zendframework/zendsearch", 
      "version": "0.1", 
      "source": { 
       "url": "https://github.com/zendframework/ZendSearch.git", 
       "type": "git", 
       "reference": "master" 
      } 
     } 
    } 
], 
"autoload": { 
    "psr-0": { 
     "ZendSearch\\": "vendor/zendframework/zendsearch/library/" 
    } 
} 
+0

你也可以在'package'鍵下不加修改地放置'autoload'鍵,這會將指令綁定到那個項目上,並且你不必在通往庫目錄的路徑中烘烤。 – 2013-05-03 00:25:01

+0

這就是我的想法。但我嘗試了這種變化,但它沒有奏效。我在這裏http://pastebin.com/53PfYM1V上了一個不同的配置。不知道你是否可以找到任何問題。 – 2013-05-03 01:50:51

+0

看起來和我的測試完全一樣,但我的工作。我想知道是不是因爲我從零開始做的(我注意到,編輯composer.json時,作曲家會變得很有趣,而不會刪除'vendor/'目錄,即使在運行'update'時也是如此)。 – 2013-05-03 02:06:23

1

看看ZendSearch composer.json。具體來說,autoload部分:

"autoload": { 
    "psr-0": { 
     "ZendSearch": "library/" 
    } 
} 

您需要在您的「一攬子」獲得自動加載工作(其實你的包應該是儘可能接近的真實composer.json)。

+0

感謝您的建議,這讓我在正確的軌道上。 – 2013-05-01 21:47:12

0

這爲我工作

"require": { 
    "php": ">=5.3.3", 
    "zendframework/zendframework": "2.3.*", 
    "zendframework/zendsearch": "dev-master" 
}, 
"autoload": { 
    "psr-0": { 
     "ZendSearch\\": "vendor/zendframework/zendsearch/library/" 
    } 
} 
相關問題