ruby on rails - para - ¿Cómo hacer que Ruby/Homebrew/RVM trabaje en Yosemite?
install rvm mac (11)
Nota: solo haga lo siguiente si termina en un estado completamente fallido, ya que esto es muy PELIGROSO
Como ejemplo, sigo recibiendo
$ sudo ln -s Actual 1.8
$ brew actualización
/usr/local/Library/brew.rb:18:in '': método indefinido ayuda?'' para ["update"]: Array (NoMethodError)
Acabo de entender esto ... (no importa qué comando simplemente cambies la "actualización" con el comando) Resolví el problema pidiendo una carpeta de amigos /usr/local
. Luego hice una copia de seguridad de mi carpeta /usr/local
.
sudo mv / usr / local /usr/local.orig
Luego moví su /usr/local
a la mía
sudo mv ~ / Downloads / local / usr / local
Nota: Es probable que pierda algunos datos, así que asegúrese de hacer una copia de seguridad.
Después de instalar Yosemite, no pude preparar brebaje o rubí.
Estaba recibiendo este error en la actualización de cerveza:
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0
obteniendo este error en irb:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in mkdir'': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14 (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:infu_mkdir''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:inreverse_each''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in block in mkdir_p'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:ineach''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in mkdir_p'' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:210:inwrite_gem_make_out''
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:132:in build_error'' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:171:inrescue in build_extension''
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:156:in build_extension'' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:198:inblock in build_extensions''
from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:in each'' from /Library/Ruby/Site/2.0.0/rubygems/ext/builder.rb:195:inbuild_extensions''
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1436:in block in build_extensions'' from /Library/Ruby/Site/2.0.0/rubygems/user_interaction.rb:45:inuse_ui''
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:1434:in build_extensions'' from /Library/Ruby/Site/2.0.0/rubygems/stub_specification.rb:60:inbuild_extensions''
from /Library/Ruby/Site/2.0.0/rubygems/basic_specification.rb:56:in contains_requirable_file?'' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:925:inblock in find_inactive_by_path''
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in each'' from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:infind''
from /Library/Ruby/Site/2.0.0/rubygems/specification.rb:924:in find_inactive_by_path'' from /Library/Ruby/Site/2.0.0/rubygems.rb:185:intry_activate''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:150:in block in search_file'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:158:inblock in each_localized_path''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:167:in each_sublocale'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:157:ineach_localized_path''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:145:in search_file'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:124:infind''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:108:in load'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/locale.rb:32:ininitialize''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:in new'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:114:ininit_config''
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb/init.rb:16:in setup'' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/irb.rb:380:instart''
from /usr/bin/irb:12:in `''
Actualicé a Yosemite y luego descubrí que la brew
estaba rota.
/usr/local/bin/brew: /usr/local/Library/brew.rb:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0
Si aún no ha realizado ningún cambio para elaborar cerveza, esto es lo que recomiendo. De lo contrario, lea más abajo.
-
cd /System/Library/Frameworks/Ruby.framework/Versions/
-
sudo ln -s Current 1.8
-
brew update
-
sudo unlink 1.8
¿Ya has hecho cambios en los archivos de preparación y te has quedado en un desastre?
Traté de editar /usr/local/Library/brew.rb
pero el cambio local a mi repositorio de git impedía que la brew update
bajara las actualizaciones. Probé otras soluciones mencionadas en esta página y de otros sitios y terminé con un desastre y todo lo que quería hacer era deshacer todo lo que había hecho para elaborar.
Cometí mi cambio pero empeoró las cosas. Finalmente tuve que deshacer mis commits y git reset --hard HEAD~1
hasta que estuve en el correcto commit-ish. También tuve un aluvión de archivos no versionados (cambié los permisos de los archivos en / usr / Local) así que hice un git clean -f -d
que eliminó todos los archivos y directorios no versionados y me devolvió a donde comencé antes de realizar cualquier cambio.
Como el anterior dijo: 1) Cambie a la corriente 2) instale xcode 6
Si ahora tiene más problemas con brebaje y rubí, esto debería ayudar: de alguna manera, brew necesita ruby en la versión 1.8, así que cree la carpeta:
sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin
y hacer un enlace simbólico:
sudo ln -s /usr/bin/ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Eche un vistazo a este tutorial aquí: http://ryantvenge.com/2014/09/ruby-homebrea-yosemite/
¡Funcionó para mí!
Editar la secuencia de comandos significa que la brew update
no funcionará; hay ediciones locales en los archivos rastreados que hacen que falle el git pull
.
Hice esto, que sospecho que es más limpio:
cd /usr/local/Library
git pull -q origin refs/heads/master:refs/remotes/origin/master
No hay quejas del brew doctor
.
Este error se puede solucionar fácilmente en los siguientes pasos:
1) Terminal abierto
2) Escriba nano /usr/local/Library/brew.rb
3) En la primera línea, cambie "1.8" a "Actual", así que debería verse así:
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
a través de http://blog.ic3man.gr/2014/06/homebrew-ruby-bad-interpreter-no-such-file-or-directory/
Este es un conglomerado de respuestas de las publicaciones de otras personas, así como un poco de búsqueda en Google, pero pensé que lo pondría así que una respuesta completa está en un solo lugar. Específicamente, esto hace que las cosas funcionen ahora, pero también permite actualizar las actualizaciones de forma normal y vuelve a tener todo limpio.
- Abre /usr/local/Library/brew.rb (emacs / vi / nano / lo que sea)
- Cambie la primera línea para leer:
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0
. Solo está cambiando el "1.8" que estaba en esa línea a "Actual" (asegúrese de mantener la "C" mayúscula, de lo contrario, git se confundirá más tarde). -
cd $(brew --repository)
-
git add Library/brew.rb
-
git commit -m "upgrading to ruby 2.0"
-
brew update
(osudo brew update
si su brew está configurado para solo hacer cambios en el sistema con sudo)
Crédito: mucho de esto vino de here , aunque realmente recomiendo no hacer git commit -am
en su carpeta / usr / local.
Lo arreglé de la siguiente manera:
-
sudo chown -R $(whoami):admin /usr/local
-
cd $(brew --prefix) && git fetch origin && git reset --hard origin/master
Pasos para arreglarlo:
Instalar herramientas de línea de comandos para Xcode 6
Reinstale brebaje:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Una vez que se haya instalado brew, rvm funcionará:
rvm install ruby
Funcionó para mí, yahoo!
Tuve problemas para intentar instalar Ruby usando gestores de paquetes. Para ser justo con estos programas, admito que tengo poca experiencia con ellos y no hice el esfuerzo de profundizar más que la mayoría de los otros respondedores. Soy flojo y prefiero usar un instalador binario disponible para la mayoría de las opciones de opsys y muchos paquetes. Desafortunadamente, Ruby no parece suministrar uno.
Encontré Ruby-build fácil de instalar (independiente, no el complemento), e incorporó Ruby de fuentes sin error y lo ubiqué donde lo quería.
Bingo - fácil :) Esto parece una buena alternativa para aquellos de nosotros que desafiamos la persuasión del administrador de paquetes.
Charlie
el error de actualización del brew puede solucionarse con esto:
sudo chown -R $USER:admin /usr/local
cd /usr/local
git reset --hard origin/master
brew update