Desde que salió OS X El Capitan, he tenido problemas para actualizar aplicaciones de terceros (que no son de la Tienda de Aplicaciones) usando cualquier función de actualización de la aplicación provista. Por lo general, estos descargarán automáticamente la actualización y le pedirán que reinicie la aplicación para aplicar la actualización. A veces esto se maneja en la barra de menú de la aplicación, y a veces habrá una ventana emergente dentro de la aplicación que te pedirá que reinicies la aplicación.
Sinembargo,noimportacuántasvecesreinicielaaplicación,laactualizaciónnuncaseaplicará,porloquecomienzaadescargarlaactualizaciónnuevamenteyvuelveapedirquesereinicielaaplicación.
Algunosejemplosdeaplicacionesconlasqueestoyteniendoproblemasson:AtomEditor,Slack(versiónWebDL)yalgunasotras.
LeíenalgunapartequeestepodríaestarrelacionadoconlaprotecciónSIPqueseintrodujoconElCapitán,yquesololosusuariosrootpuedenusaresaversiónparticulardeactualizaciónautomáticaahora.¿Estoescorrecto?
Miusuarioprincipalnoesunusuarioadministrador.Ensulugar,necesitoinvocarlaautorizacióndemiadministradorcuandoserequierenprivilegiosdeadministrador.Nosésiesotienealgoqueverconelproblema:lasactualizacionesenlaaplicaciónnuncasolicitanprivilegiosdeadministrador.
Teniendoestoencuenta,megustaríaevitardesactivarlaprotecciónSIPsiesposible.
Editar:ejemplodesystem.log
Desafortunadamente,fuimásrápidoqueelprimercomentarioacontinuación,ycontraeseconsejoinstalécask
.AsíqueahoralasaplicacionesproblemáticascomoAtomySlack,estánactualmenteensuúltimaversión.Sinembargo,parecequetengounproblemasimilarconunanuevaaplicaciónllamadaRealTimeBoard.CuandoAtomySlackseactualizanautomáticamenteatravésdelmenúdearchivosyluegosolicitaunreinicio,RealTimeBoarddescargalaactualizaciónysolicitaunreinicioatravésdeunaventanaemergente.Asíquesospechoquefuncionadelamismamaneraquelasotrasaplicacionesconlasquehetenidoproblemas.Nuevamente,laactualizacióndelaaplicaciónseniegaaaplicarsealreiniciarseymepedirácontinuamentequeactualice&reiniciaratravésdeunaventanaemergenteenellanzamientodelaaplicación.TendréqueesperaryvercómosecomportanAtomySlackunavezquehayanuevasversionesdisponibles.AquíestáelintentodeactualizacióndeRealTimeBoarddesdesystem.log
:
May1722:56:49myuserShipIt[2803]:BeginninginstallationMay1722:56:49myuserShipIt[2803]:Couldn'tabortinstallandrestoreownedbundletopreviouslocationfile:///Applications/RealtimeBoard.app,errorNSError{domain:NSPOSIXErrorDomain,code:2,description:"No such file or directory" }
May 17 22:56:52 myuser ShipIt[2803]: Installation error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied" UserInfo={NSLocalizedDescription=Permission denied}
May 17 22:56:52 myuser com.apple.xpc.launchd[1] (com.electron.realtimeboard.ShipIt[2803]): Service exited with abnormal code: 1
May 17 22:56:52 myuser ShipIt[2848]: Resuming installation attempt 2
May 17 22:56:52 myuser ShipIt[2848]: Couldn't abort install and restore owned bundle to previous location file:///Applications/RealtimeBoard.app, error NSError { domain: NSPOSIXErrorDomain, code: 2, description: "No such file or directory" }
May 17 22:56:54 myuser ShipIt[2848]: Installation error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied" UserInfo={NSLocalizedDescription=Permission denied}
May 17 22:56:54 myuser com.apple.xpc.launchd[1] (com.electron.realtimeboard.ShipIt[2848]): Service exited with abnormal code: 1
May 17 22:56:54 myuser ShipIt[2857]: Resuming installation attempt 3
May 17 22:56:54 myuser ShipIt[2857]: Couldn't abort install and restore owned bundle to previous location file:///Applications/RealtimeBoard.app, error NSError { domain: NSPOSIXErrorDomain, code: 2, description: "No such file or directory" }
May 17 22:56:56 myuser com.apple.usbmuxd[114]: notice USBMuxBonjourDeviceListenerCreate: LOCKDOWN_V2_BONJOUR_SERVICE_NAME is _apple-mobdev2._tcp,8d1f07bd
May 17 22:56:57 myuser ShipIt[2857]: Installation error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied" UserInfo={NSLocalizedDescription=Permission denied}
May 17 22:56:57 myuser syslogd[60]: ASL Sender Statistics
May 17 22:56:57 myuser com.apple.xpc.launchd[1] (com.electron.realtimeboard.ShipIt[2857]): Service exited with abnormal code: 1
May 17 22:56:57 myuser ShipIt[2877]: Too many attempts to install, aborting update
May 17 22:56:57 myuser ShipIt[2877]: Error aborting installation: Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory" UserInfo={NSLocalizedDescription=No such file or directory}
May 17 22:56:57 myuser ShipIt[2877]: Application launched at file:///Applications/RealtimeBoard.app
Sospecho que el problema puede tener que ver con ShipIt , que creo que es el mismo sistema que Atom usa para las actualizaciones.
Hay un subproceso aquí que sugiere (en disputa) que el problema puede tener que ver con el administrador El usuario no es el "propietario" de la aplicación. El listado de chown
en la aplicación revela esto:
drwxr-xr-x@ 3 myuser admin 102 Mar 22 13:34 RealtimeBoard.app
Supongo que esto significa que soy el propietario de la aplicación.
¿Usando barril?
NB: Leí algo sobre Homebrew-Cask como alternativa a no tener que hacer todo El trabajo manual de actualización de aplicaciones que no sean de la App Store. Nunca he escuchado sobre cask
antes, pero uso Homebrew. ¿Podría ser una solución aconsejable?