Desinstalar OSX-gcc-installer sin primero instalar Xcode

2

¿Hay alguna forma de desinstalar osx-gcc-installer sin tener que instalar Xcode y luego ejecutar sudo /Developer/Library/uninstall-devtools —mode=all ?

Lo instalé en Mountain Lion y quiero deshacerme de él para que mis herramientas CLI funcionen para instalar Octopress .

¿Hay algún script o comando que me ayude a eliminar por completo osx-gcc-installer de mi sistema?

    
pregunta Danijel-James W 11.10.2013 - 08:35

2 respuestas

2

Por lo que veo en los scripts del desarrollador aquí , parece que está recomendando que instales Xcode sobre la parte superior de su "osx-gcc-installer" para poder desinstalar ... En ese punto, puedes ejecutar el script uninstall-devtools ...

Del desarrollador:

  

Si algo no funciona como se espera, no dude en instalar Xcode en esta instalación.

     

Una vez instalado, puedes eliminar Xcode completamente con lo siguiente:

sudo /Developer/Library/uninstall-devtools -mode=all

Alternativamente, puede copiar y pegar el contenido del script real en un documento de texto en blanco (quizás llamado "uninstall-devtools"), hacerlo editable ( chmod 755 uninstall-devtools ) y luego ejecutarlo ( sudo ./uninstall-devtools -mode=all ):

#!/usr/bin/perl
####################################################################################################
#
# Copyright (c) 2002-2011 Apple, Inc.
# Xcode 4.2
#
# NAME
#     uninstall-devtools -- Meta-script for running the various devtools uninstaller scripts.
#
# SYNOPSIS
#     sudo /Developer/Library/uninstall-devtools --mode=all
#     sudo /Developer/Library/uninstall-devtools --mode=xcodedir
#     sudo /Developer/Library/uninstall-devtools --mode=unixdev
#     sudo /Developer/Library/uninstall-devtools --mode=systemsupport
#
# Where the specified 'mode' value invokes the following devtools uninstaller scripts:
#
#     all:
#         /Library/Developer/Shared/uninstall-devtools
#         /Library/Developer/4.2/uninstall-devtools
#         /Developer/Library/uninstall-developer-folder
#
#     xcodedir:
#         /Developer/Library/uninstall-developer-folder
#
#     unixdev:
#         /Library/Developer/Shared/uninstall-devtools
#
#     systemsupport:
#         /Library/Developer/Shared/uninstall-devtools
#         /Library/Developer/4.2/uninstall-devtools
#
# The default value for 'mode' is 'all'.
#
# DESCRIPTION
#     This command runs the appropriate devtools uninstaller scripts according to the usage
#     specified on the command line.
####################################################################################################

my $do_nothing     = 0;
my $verbose        = 0;
my $warning        = 0;
my $debug          = 0;
my $help           = 0;
my $mode           = '';

get_options(
    'do-nothing' => \$do_nothing,
    'verbose' => \$verbose,
    'warning' => \$warning,
    'debug' => \$debug,
    'help' => \$help,
    'mode' => \$mode,
);

####################################################################################################

if ($help == 1) {
    print("Usage: $0 --mode=<all|xcodedir|unixdev|systemsupport>\n");
print <<"END";
This is a meta-script which invokes one or more of the devtools
uninstaller scripts, depending on which mode you select.

The recognized modes are:
all:
    /Library/Developer/Shared/uninstall-devtools
    /Library/Developer/4.2/uninstall-devtools
    /Developer/Library/uninstall-developer-folder

xcodedir:
    /Developer/Library/uninstall-developer-folder

unixdev:
    /Library/Developer/Shared/uninstall-devtools

systemsupport:
    /Library/Developer/Shared/uninstall-devtools
    /Library/Developer/4.2/uninstall-devtools

The default value for 'mode' is 'all'.
END
    exit(0);
}

####################################################################################################
# Determine if we are authorized to uninstall the devtools packages.
####################################################################################################

$| = 1;
if (($do_nothing == 0) && ($< != 0)) {
    die("ERROR: Must be run with root permissions -- prefix command with 'sudo'.\n");
}

####################################################################################################

my $uninstaller_script = $0;
my ($uninstaller_dir,$uninstaller_script_basename) = parse_name($uninstaller_script);
if ($uninstaller_dir eq '.') {
    die("ERROR: Must change to another directory before running this script, since the current directory is about to be deleted.\n");
}
my ($developer_dir,$developer_dir_basename) = parse_name($uninstaller_dir);

####################################################################################################

my @flags = ();
if ($do_nothing == 1) {
    push(@flags,'--do-nothing');
}
if ($verbose == 1) {
    push(@flags,'--verbose');
}
if ($warning == 1) {
    push(@flags,'--warning');
}
if ($debug == 1) {
    push(@flags,'--debug');
}

if (($mode eq '') || ($mode eq 'all')) {
    run_uninstaller_script("/Library/Developer/4.2/uninstall-devtools",\@flags);
    run_uninstaller_script("/Library/Developer/Shared/uninstall-devtools",\@flags);
    run_uninstaller_script("$developer_dir/Library/uninstall-developer-folder",\@flags);
} elsif ($mode eq 'xcodedir') {
    run_uninstaller_script("$developer_dir/Library/uninstall-developer-folder",\@flags);
} elsif ($mode eq 'unixdev') {
    run_uninstaller_script("/Library/Developer/Shared/uninstall-devtools",\@flags);
} elsif ($mode eq 'systemsupport') {
    run_uninstaller_script("/Library/Developer/4.2/uninstall-devtools",\@flags);
    run_uninstaller_script("/Library/Developer/Shared/uninstall-devtools",\@flags);
} else {
    die("Usage: $0 --mode=<all|xcodedir|shared|systemsupport>\n");
}
print("IMPORTANT: If you are going to install a previous version of the Developer Tools, be sure to restart the machine after installing.\n");

####################################################################################################

sub get_options {
    while (@_) {
    my $option_name = shift(@_);
    my $option_pointer = shift(@_);

    foreach my $arg (@ARGV) {
        if ($arg =~ /^--$option_name/) {
        my ($arg_name,$arg_value) = split(/=/,$arg);
                $arg_value = 1 if (!$arg_value);
        $$option_pointer = $arg_value;
        }
    }
    }
}

####################################################################################################

sub parse_name {
   my $name = shift;
   my ($dir_name,$base_name) = ($name =~ m{^(.*/)?(.*)}s);
   $dir_name =~ s|(.*)/$|$1|s;
   return ($dir_name,$base_name);
}

####################################################################################################

sub run_uninstaller_script {
    my $script = shift;
    my $flagsref = shift;

    if (-x $script) {
        my @args = ();
        push(@args,$script);
        foreach my $flag (@$flagsref) {
            push(@args,$flag);
        }

        system({$args[0]} @args);
    }
}

####################################################################################################
    
respondido por el Eddie Kelley 12.10.2013 - 00:17
0

Desafortunadamente, osx-gcc-installer ha sobrescrito algunos archivos del sistema que en realidad son 'shims', por lo que incluso si ejecuta ese script para eliminar esos archivos sobreescritos, deberá restaurar los archivos originales del sistema.

Primero, ejecute el script sugerido en la otra respuesta. Entonces:

Puede descargar y volver a instalar su OSX nuevamente, desde App Store. O puede descargar las correcciones de Mavericks de OSX de este torrent y copiarlas en su carpeta / usr / bin, sobrescribiendo las que están allí:

enlace

Nota: Esta fue la solución que encontré para OSX Mavericks (10.9) pero también podría funcionar para usted. Tenga cuidado al usar estos archivos Mavericks / usr / bin en su Mountain Lion. Es posible que desee volver a descargar Mountain Lion y usar un procedimiento como este: enlace

PD: esta respuesta debe incluir todo lo que necesita saber, pero si aún necesita más detalles, consulte: enlace

    
respondido por el Magne 11.03.2015 - 09:40

Lea otras preguntas en las etiquetas