Ho un'applicazione, ho scritto 6 anni fa, che include funzionalità per confrontare i file. Recentemente questo sembra ignorare il comando di confronto dei file. Ho fatto un po 'di scavo nel codice, e questo usa opendiff
per eseguire questa funzione.
Cercherò di approfondire il codice per il follow-up, ma la mia domanda riguarda alcune delle mie scoperte.
Ci sono 2 istanze di opendiff
/Applications/Xcode.app/Contents/Developer/usr/bin/opendiff
-rwxr-xr-x 1 root wheel 23712 5 Jun 13:22 /Applications/Xcode.app/Contents/Developer/usr/bin/opendiff
/usr/bin/opendiff
-rwxr-xr-x 1 root wheel 18304 30 May 09:35 /usr/bin/opendiff
Esecuzione del primo lavoro come previsto.
L'esecuzione del secondo produce il seguente errore
xcode-select: error: tool 'opendiff' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Questo errore è incomprensibile (almeno per me) e non so da dove provenga.
Sospettavo che gli strumenti della riga di comando potessero essere implicati, e ho installato brew 2 giorni fa (per ottenere un rsync aggiornato)
Vorrei solo eliminare /usr/bin/opendiff
, ma non posso - probabilmente a causa di SIP.
Ho appena avviato il mio MacBook Pro con 10.13.3 e tutto sembra OK.
/usr/bin/opendiff
viene eseguito e avvia FileMerge 2.10