2010-10-21 5 views
16

Ich frage mich, wie Sie eine Variante an einen Port anhängen können, wenn Sie den Port bereits installiert haben. Zum Beispiel habe ich den 'vim' Port installiert und würde gerne zurückgehen und die python25 Variante hinzufügen. Muss ich vim löschen und neu installieren? Dies ist nur ein Beispiel, ich würde wirklich gerne den Prozess kennen, um dies für jeden Port zu tun.Hinzufügen von Varianten in Mac-Ports

Vielen Dank für jede Hilfe, Greg

Antwort

25

Es kann immer nur eine Variante eines MacPorts Ports aktiv sein. In der Terminologie MacPorts können jedoch mehrere Varianten und/oder Versionen eines Ports gleichzeitig installed sein. Von diesen ist höchstens eins active, andere sind inactive. Wenn Sie gelegentlich zwischen Varianten wechseln müssen, können Sie je nach Bedarf eine bestimmte Variante aktivieren. Das wird auch jeden in Konflikt stehenden aktiven Port automatisch deaktivieren. Zum Beispiel, hier ist ein hypothetische vim Beispiel (nicht vollständig getestet!):

$ sudo port install vim +python26 
$ sudo port clean vim 
$ sudo port install vim +python31 
$ sudo port echo installed |grep vim 
vim       @7.3.21_0+python26 
vim       @7.3.21_0+python31 
$ sudo port activate vim @7.3.21_0+python26 
# ... edit with Python 2 
# ... 
$ sudo port activate vim @7.3.21_0+python31 
# ... edit with Python 3 
# ... 
+0

sein Ich bin verwirrt. Da eine Variante eine Kompilierzeitoption ist, baut vim + python26 vim mit python26-Unterstützung auf. Sie kompilieren es dann mit python31-Unterstützung neu. Wie behält es beide Kompilierungsoptionen bei? Ist das eine Mac Port Funktion? – wonbyte

+3

Ich bin kein Experte für die Interna, aber im Grunde behält es Kopien von jedem installierten Port (schau in '/ opt/local/var/macports/software /'). Die Aktivierung eines Ports erzeugt feste Verbindungen von den Dateien zu den normalen Speicherorten ('/ opt/local/bin' usw.). Das Deaktivieren eines Ports entfernt diese harten Links. Der Prozess ist also schnell und erfordert keine zusätzlichen Kopien jeder Datei, nur die harten Linkeinträge. –

+0

Ich sehe, wie es funktioniert. Vielen Dank für die Hilfe! – wonbyte

-1

Sie neu installieren müssen. Es gibt keine Möglichkeit, nachträglich eine Variante hinzuzufügen - noch macht es Sinn, dies zu tun. Varianten wirken sich auf Einstellungen während des Erstellungsprozesses aus.

9

Ich glaube Macports dies mit der Option --enforce-variants nativ unterstützt jetzt. So im obigen Fall würde der Befehl

$ sudo port upgrade --enforce-variants vim +python25