Como instalar Homebrew MacOS

¿Cómo estais? me llamo Ana. Os traigo un nuevo post sobre el sistema operativo mas molón. Encantado linuxeros.

J’arrive paso aquí lerreur

pc85: ~ felicito $ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install

#! / System / Library / Frameworks / Ruby.framework / Versiones / Current / usr / bin / ruby
# Este script instala sólo en / usr / local. Para instalarlo en otro lugar, sólo puede
# untar https://github.com/Homebrew/brew/tarball/master en cualquier lugar que desee o
# Cambie el valor de HOMEBREW_PREFIX.
HOMEBREW_PREFIX = «/usr/local».freeze
HOMEBREW_REPOSITORY = «/usr/local/Homebrew».freeze
HOMEBREW_CACHE = «# ENV[“HOME”] / Library / cacha / Homebrew «.freeze
HOMEBREW_OLD_CACHE = «/Library/Caches/Homebrew».freeze
BREW_REPO = «https://github.com/Homebrew/brew».freeze
CORE_TAP_REPO = «https://github.com/Homebrew/homebrew-core».freeze

# Sin analíticas durante la instalación
ENV[“HOMEBREW_NO_ANALYTICS_THIS_RUN”] = «1»
ENV[“HOMEBREW_NO_ANALYTICS_MESSAGE_OUTPUT”] = «1»

módulo TTY
funció_mòdul

azul def
negrita 34
final

def rojo
negrita 31
final

restablecimiento definido
escapar 0
final

def en negrita (n = 39)
escapar «1; # n»
final

subrayar def
escapar «4; 39»
final

def escape (n)
» 033[#nm” if STDOUT.tty?
end
end

class Array
def shell_s
cp = dup
first = cp.shift
cp.map .unshift(first).join(” “)
end
end

def ohai(*args)
puts “#Tty.blue==>#Tty.bold #args.shell_s#Tty.reset”
end

def warn(warning)
puts “#Tty.redWarning#Tty.reset: #warning.chomp”
end

def system(*args)
abort “Failed during: #args.shell_s” unless Kernel.system(*args)
end

def sudo(*args)
args.unshift(“-A”) unless ENV[“SUDO_ASKPASS”].nil?
ohai «/ usr / bin / sudo», * args
sistema «/ usr / bin / sudo», * args
final

def getc
sistema «/ bin / stty raw -echo»
si STDIN.respond_to? (: Getbyte)
STDIN.getbyte
de lo contrario
STDIN.getc
final
asegurar
sistema «/ bin / stty -raw eco»
final

def wait_for_user
pone
pone «Pulse Entrar para continuar o cualquier otra tecla para abortar»
c = getc
# Comprobamos si ri n porque algunas cosas sí lo hacen r
abortar salvo que (c == 13) || (C == 10)
final

Versión de clase
incluyen Comparable
attr_reader: partes

inicializar def (str)
@parts = str.split ( «.»). mapa
final

def (otros)
partes self.class.new (other) .parts
final
final

def force_curl?
ARGV.include? ( «- force-curl»)
final

def macos_version
@macos_version || = Version.new ( `/ usr / bin / sw_vers -productVersion`.chomp[/10.d+/])
final

def should_install_command_line_tools?
volver falso si force_curl?
vuelve falso si macos_version /dev/null`.chomp
exe si $? && $ ?. éxito? &&! exe.empty? && File.executable? (Exe)
final

vuelve a menos que @git
# Github sólo admite recuperaciones HTTPS la 1.7.10 o posterior:
# https://help.github.com/articles/https-cloning-errors
`# @ Git -version` = ~ / versión git ( d . D + . D +) /
volver si $ 1, nil?
vuelve si Version.new ($ 1)> 6) y 07
# G = (modo >> 3) y 07
# O = (modo >> 0) y 07
modo! = 0755
final

def chmod? (D)
File.exist? (D) &&! (File.readable? (D) && File.writable? (D) && File.executable? (D))
final

def chown? (D)
! File.own? (D)
final

def chgrp? (D)
! File.grpowned? (D)
final

# Invalida la marca de tiempo sudo antes de salir (si antes no estaba activa).
Kernel.system «/ usr / bin / sudo -n -v 2> / dev / null»
at_exit Kernel.system «/ usr / bin / sudo», «-k» salvo que $?. tenga éxito?

# La forma de bloque de Dir.chdir falla más tarde si no existe Dir.CWD que yo
# Adivinar es bastante justo. También sudo imprime un mensaje de advertencia sin motivo
Dir.chdir «/ usr»

################################################## #### ####################### script
abortar «Véase Linuxbrew: http://linuxbrew.sh/«Si RUBY_PLATFORM.to_s.downcase.include? ( «Linux»)
abortar «Mac OS X demasiado antiguo, véase: https://github.com/mistydemeo/tigerbrew«If macos_version <" 10.5 "
aborto «No ejecutes esto como root!» si Process.uid.zero?
aborto << - EOABORT salvo que `dsmemberutil checkmembership -U" # ENV["USER"] "-G admin`.include?" El usuario es miembro "
Este script requiere el usuario núm. ENV[«USER»] Ser administrador.
EOABORT
# Las pruebas fallarán si existe el prefijo, pero no tenemos ninguna ejecución
# Permisos. Abortar en este caso.
abortar << - EOABORT si File.directory?(HOMEBREW_PREFIX) && (! File.executable? HOMEBREW_PREFIX)
El prefijo Homebrew, # HOMEBREW_PREFIX, existe pero no se puede buscar. Si es así
no intencionado, restablece los permisos por defecto y prueba de ejecutar el archivo
instalador de nuevo:
sudo chmod 775 # HOMEBREW_PREFIX
EOABORT

ohai «Este script se instalará:»
pone «# HOMEBREW_PREFIX / bin / brew»
pone «# HOMEBREW_PREFIX / share / doc / homebrew»
pone «# HOMEBREW_PREFIX /share/man/man1/brew.1»
pone «# HOMEBREW_PREFIX / share / zsh / site-functions / _brew»
pone «# HOMEBREW_PREFIX /etc/bash_completion.d/brew»
pone HOMEBREW_REPOSITORY.to_s

group_chmods =% w[ bin bin/brew etc Frameworks include lib sbin share var
etc/bash_completion.d lib/pkgconfig var/log
share/aclocal share/doc share/info share/locale share/man
share/man/man1 share/man/man2 share/man/man3 share/man/man4
share/man/man5 share/man/man6 share/man/man7 share/man/man8].
mapa d .
seleccione
# Zsh se niega a leer desde estos directorios si se puede escribir en grupo
zsh_dirs =% w[share/zsh share/zsh/site-functions].
mapa File.join (HOMEBREW_PREFIX, d)
user_chmods = zsh_dirs.select user_only_chmod? (D)
chmod = group_chmods + user_chmods
Chown = chmods.select bufón? (D)
chgrp = chmods.select chgrp? (D)
mkdir =% w[Cellar Homebrew Frameworks bin etc include lib opt sbin share share/zsh share/zsh/site-functions var].
mapa File.join (HOMEBREW_PREFIX, d).
rechazar d

salvo que group_chmods.empty?
ohai «Los siguientes directorios existentes se podrán escribir en grupo:»
put (* group_chmods)
final
salvo que user_chmods.empty?
ohai «Los siguientes directorios existentes sólo podrán escribir el usuario:»
put (* user_chmods)
final
a menos que sople. vacío?
ohai «Los siguientes directorios existentes tendrán su propietario definido en # Tty.underline # ENV[«USER»] # Tty.reset: «
pone (* bufones)
final
salvo que chgrps.empty?
ohai «Los siguientes directorios existentes tendrán el grupo definido en # Tty.underline admin # Tty.reset:»
pone (* chgrp)
final
salvo que mkdirs.empty?
ohai «Se crearán los siguientes directorios nuevos:»
put (* mkdir)
final
si should_install_command_line_tools?
ohai «Se instalarán las herramientas de línea de comandos Xcode.»
final

wait_for_user si STDIN.tty? &&! ENV[«TRAVIS»]

si File.directory? HOMEBREW_PREFIX
sudo «/ bin / chmod», «u + rwx», * chmod salvo que chmods.empty?
sudo «/ bin / chmod», «g + rwx», * group_chmods salvo que group_chmods.empty?
sudo «/ bin / chmod», «755», * user_chmods salvo que user_chmods.empty?
sudo «/ usr / sbin / chown», ENV[«USER»], * Chown salvo que Chown. vacío?
sudo «/ usr / bin / chgrp», «admin», * chgrp salvo que chgrps.empty?
de lo contrario
sudo «/ bin / mkdir», «-p», HOMEBREW_PREFIX
sudo «/ usr / sbin / chown», «root: wheel», HOMEBREW_PREFIX
final

salvo que mkdirs.empty?
sudo «/ bin / mkdir», «-p», * mkdir
sudo «/ bin / chmod», «g + rwx», * mkdir
sudo «/ bin / chmod», «755», * zsh_dirs
sudo «/ usr / sbin / chown», ENV[«USER»], * Mkdir
sudo «/ usr / bin / chgrp», «admin», * mkdir
final

[HOMEBREW_CACHE, HOMEBREW_OLD_CACHE].Cada hacer | caché |
sudo «/ bin / mkdir», «-p», caché salvo que File.directory? caché
sudo «/ bin / chmod», «g + rwx», caché si chmod? caché
sudo «/ usr / sbin / chown», ENV[«USER»], Caché si se burla? caché
sudo «/ usr / bin / chgrp», «admin», caché si chgrp? caché
final

si should_install_command_line_tools?
ohai «Búsqueda de herramientas de línea de comandos en línea»
# Este archivo temporal pide a la utilidad ‘softwareupdate’ que lista las herramientas de línea de comandos
clt_placeholder = «/tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress»
sudo «/ usr / bin / touch», clt_placeholder
clt_label = «actualización de software -l | grep -B 1 -E» Línea de comandos (desarrollador | Herramientas) «| awk -F» * » ‘/ ^ + \ * / print $ 2’ | sed ‘ s / ^ * // ‘| cola -n1`.chomp
ohai «Instalación de # clt_label»
sudo «/ usr / sbin / softwareupdate», «-y», clt_label
sudo «/ bin / rm», «-f», clt_placeholder
sudo «/ usr / bin / Xcode-select», «-switch», «/ Library / Developer / CommandLineTools»
final

# Es posible que la instalación sin ningún haya fallado, por lo que se devuelve al método original ‘Xcode-select’
si should_install_command_line_tools? && STDIN.tty?
ohai «Instalación de las herramientas de línea de comandos (espere una ventana emergente de la GUI):»
sudo «/ usr / bin / Xcode-select», «-install»
pone «Pulse cualquier tecla cuando haya finalizado la instalación.»
getc
sudo «/ usr / bin / Xcode-select», «-switch», «/ Library / Developer / CommandLineTools»
final

abortar <& 1` = ~ / license / &&! $?. éxito?
No ha aceptado la licencia Xcode.
Antes de ejecutar el instalador de nuevo, acepte la licencia abriendo
Xcode.app o en ejecución:
sudo xcodebuild -license
EOABORT

ohai «Descargar e instalar Homebrew …»
Dir.chdir HOMEBREW_REPOSITORY hacer
si git
# Lo hacemos en cuatro pasos para evitar errores de combinación en volver a instalar
sistema git, «init», «q»

# «Git remote add» fallará si el control remoto se define en la configuración global
git del sistema, «config», «remote.origin.url», BREW_REPO
sistema git, «config», «remote.origin.fetch», «+ refs / heads / *: refs / remotas / origin / *»

# Asegúrese de que no acabamos de combinar las terminaciones de las líneas en la salida
sistema git, «config», «core.autocrlf», «false»

args = git, «fetch», «origin», «master: refs / remotas / origin / master»,
«-Etiquetas», «-muy»
sistema (* args)

sistema git, «reset», «-hard», «origin / master»

sistema «ln», «-sf», «# HOMEBREW_REPOSITORY / bin / brew», «# HOMEBREW_PREFIX / bin / brew»

sistema «# HOMEBREW_PREFIX / bin / brew», «actualización», «-bastante»
de lo contrario
# -M para dejar de errar el tar si no puede modificar el mtime para los directorios propietarios de la raíz
# Pipefail para hacer que el estado de salida del curl se propague si falla
curl_flags = «fsSL»
curl_flags + = «k» si macos_version < "10.6"
core_tap = «# HOMEBREW_PREFIX / Homebrew / Biblioteca / Tapones / homebrew / homebrew-core»
system «/ bin / bash -o pipefail -c ‘/ usr / bin / curl – # curl_flags # BREW_REPO / archivo tar / master | / usr / bin / tar xz -m -strip 1»

sistema «ln», «-sf», «# HOMEBREW_REPOSITORY / bin / brew», «# HOMEBREW_PREFIX / bin / brew»

sistema «/ bin / mkdir», «-p», core_tap
Dir.chdir core_tap do
system «/ bin / bash -o pipefail -c ‘/ usr / bin / curl – # curl_flags # CORE_TAP_REPO / archivo tar / master | / usr / bin / tar xz -m -strip 1»
final
final
final

advierte que «# HOMEBREW_PREFIX / bin no es en su CAMINO». salvo que ENV[«PATH»].split ( «:»). incluir? «# HOMEBREW_PREFIX / bin»

ohai «Instalación realizada correctamente!»
pone

# Utilice la campana sonora de la cáscara.
imprime » a»

# Utilice una nueva línea adicional y en negrita para evitar que se pierda esto.
ohai «Homebrew ha permitido el análisis del comportamiento de los usuarios agregados anónimos».
pone << - EOS
# Tty.bold Lea la documentación analítica (y como se puede desactivar) aquí:
# Tty.underline https://docs.brew.sh/Analytics.html# Tty.reset

EOS

si git
Dir.chdir HOMEBREW_REPOSITORY hacer
sistema git, «config», «-local», «-replace-all», «homebrew.analyticsmessage», «true»
final
final

ohai «Pasos siguientes:»

si macos_version «10.6»
`/ Usr / bin / cc -version 2> / dev / null` = ~ / clanga – ( d 2,) /
versión = $ 1.to_i
si la versión <425
put «- Instale las herramientas de línea de comandos # Tty.bold para Xcode:»
pone «# Tty.underline https://developer.apple.com/downloads# Tty.reset»
final
elsif! File.exist? «/ Usr / bin / cc»
put «- Instala # Tty.bold Xcode:»
pone «# Tty.underline https://developer.apple.com/xcode# Tty.reset»
final

salvo que git
pone «- Executeu` brew update -force` para completar la instalación instalando:»
pone «# HOMEBREW_PREFIX / share / doc / homebrew»
pone «# HOMEBREW_PREFIX /share/man/man1/brew.1»
pone «# HOMEBREW_PREFIX / share / zsh / site-functions / _brew»
pone «# HOMEBREW_PREFIX /etc/bash_completion.d/brew»
pone «# HOMEBREW_REPOSITORY /. git»
final

put «- Executeu` brew help` para empezar»
pone «- Documentación adicional:»
pone «# Tty.underline https: //docs.brew.sh# Tty.reset»
pc85: ~ felicito $
pc85: ~ felicito $

El Blog lo hacemos para colaborar y servir de referencia a la comunidad Linux. Esperamos que os guste.

Leave a Reply