2013-05-26 4 views
2

에서 설치하는 경우 PHP 확장 종속성 문제는 누구든지 PHP 확장에 대한 종속성 문제를 해결하는 방법을 알고 있습니까?꼭두각시

default.pp

class { 'php': 
    package => 'php5', 
    service => 'apache', 
    version => '5.2.10.dfsg.1-2ubuntu6.5', 
    require => Package['apache'], 
} 

package { "PhpModule_mhash": 
    ensure => '5.2.10.dfsg.1-2ubuntu6.5', 
    name  => 'php5-mhash', 
    require => [Package['php'], Package['PhpModule_common'], ], 
} 

내가 vagrant up 내가 err

err: /Stage[main]//Package[PhpModule_mhash]/ensure: change from purged to 5.2.10.dfsg.1-2ubuntu6.5 failed: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold --force-yes install php5-mhash=5.2.10.dfsg.1-2ubuntu6.5' returned 100: Reading package lists... 
Building dependency tree... 
Reading state information... 
Some packages could not be installed. This may mean that you have 
requested an impossible situation or if you are using the unstable 
distribution that some required packages have not yet been created 
or been moved out of Incoming. 
The following information may help to resolve the situation: 

The following packages have unmet dependencies: 
php5-mhash : Depends: php5 but it is not going to be installed or 
        phpapi-20060613+lfs 
E: Unable to correct problems, you have held broken packages. 
at /tmp/vagrant-puppet/manifests/default.pp:79 

내 가상 상자 저장소를 받고있어 최신 상태 및 필요한 모든 패키지를 사용할 수 있습니다. PHP는 문제없이 설치됩니다.

/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold --force-yes install php5-mhash=5.2.10.dfsg.1-2ubuntu6.5

은 예고없이 설치되어 ...

  1. Package 그 PHP5를 알 수있는 방법이 있나요 : 매우 흥미로운 무엇

    내가 vagrant ssh하고 다음 명령을 실행하면 있다는 사실이다 이미 설치되어 있습니까?

  2. 이미 패키지가 필요한 경우 종속성을 생략 할 수 있습니까?
  3. 꼭두각시 또는 데비안 측에서 어떤 옵션이 있습니까? 사전에

감사

답변

0

인형 Chaining 대답입니다!

* PhpModule_mhash * package`requires를 지정했는데 php 클래스는 내 매니페스트에 체인을 삽입해야했습니다.

Class['php'] -> Package['PhpModule_common'] -> Package['PhpModule_cli'] -> Package['PhpModule_mhash'] 
관련 문제