2012-03-05 12 views
13

Solía ​​ejecutar el terminal predeterminado bash que viene con Mac Os X Lion, pero recientemente actualicé a ZSH con el complemento Oh My Zsh.¿Por qué ZSH devuelve el error "Comando no encontrado" para mis gemas RVM?

Desde entonces recibo un extraño error al usar gemas de Ruby.

En esencia, todas las gemas devuelven un error de "Comando no encontrado" aunque estén instaladas.


Aquí es un ejemplo directamente desde mi terminal ZSH:

  1. muestra que el RVM rubí está funcionando como debiera.
  2. rvm list muestra mi ruby ​​RVM para ser el predeterminado como lo quiero.
  3. rvm gem list muestra que mis gemas están instaladas, tenga en cuenta sass gema.
  4. Al ejecutar un comando simple sass --watch se devuelve zsh: command not found: sass.
  5. Por si acaso esto ayuda, mi $PATH salida variable.

    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → which ruby 
    /Users/jannis/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → rvm list  
    
    rvm rubies 
    
    =* ruby-1.9.2-p290 [ x86_64 ] 
    
    # => - current 
    # =* - current && default 
    # * - default 
    
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → rvm gem list 
    Please note that `rvm gem ...` is only an alias to `rvm do gem ...`, 
    it might work different as in earlier versions of RVM and will be shortly removed! 
    Also note that you do not have to prefix every command with `rvm`, they should just work by itself. 
    `rvm do gem list` is deprecated, use `rvm all do gem list` or `rvm 1.9.2 do gem list` instead. 
    
    *** LOCAL GEMS *** 
    
    addressable (2.2.7, 2.2.6) 
    chunky_png (1.2.5) 
    compass (0.11.7, 0.11.6, 0.11.5) 
    css_parser (1.2.6) 
    fssm (0.2.8.1, 0.2.7) 
    grid-coordinates (1.2.0) 
    haml (3.1.4, 3.1.3) 
    htmlentities (4.3.1) 
    json (1.6.5) 
    nokogiri (1.5.0) 
    oily_png (1.0.2) 
    premailer (1.7.3) 
    rake (0.9.2.2, 0.9.2) 
    rb-fsevent (0.9.0, 0.4.3.1) 
    rdoc (3.12) 
    rubygems-update (1.8.17, 1.8.15, 1.8.13, 1.8.11) 
    sass (3.1.15, 3.1.12, 3.1.10) 
    stitch (0.1.3.2) 
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → sass --style compressed --watch scss:css 
    zsh: correct 'sass' to 'case' [nyae]? n 
    zsh: command not found: sass 
    
    Jannis-Mac-Pro: /Volumes/Storage2/Sites/git/mathewhawley.com/static 
    → echo $PATH 
    /Users/jannis/.rvm/gems/[email protected]/bin:/Users/jannis/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/jannis/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin 
    

Si alguien tiene una idea de por qué todo parece estar funcionando y ser instalado, pero luego en realidad no encontrar y ejecutar el comando joya Le agradecería su ayuda.

+0

intentar localizar el binario manualmente en el directorio joya apropiada. e.g .: /Users/jannis/.rvm/gems/ruby-1.9.2-p290/gems/sass-3.1.15/bin/. También debe estar en su /Users/jannis/.rvm/gems/[email protected]/bin. De esta forma al menos puedes usarlo hasta que encuentres una solución adecuada. – ayckoster

Respuesta

15

revisar sus archivos rc

  • .zshenv
  • .zshrc
  • .zlogin
  • .zprofile

muy probablemente en uno de los PATH se restablece después de RVM era originario

también algunos Los complementos oh-my-zsh pueden romper cosas, intente deshabilitarlas y habilitarlas una a una.

+0

Hmm ... primero todo gracias por su respuesta! Revisé todos los archivos pero el 'PATH' no se está restableciendo y el único complemento que estoy usando actualmente es el' git' que he desactivado y tampoco me ayudó. Sin embargo, en una inspección más cercana noté que parece que no puedo establecer una gema ruby ​​predeterminada para nuevas instancias de terminal, que es el problema. Usando 'rvm use ruby-1.9.2-p290 --default' lo configurará como el predeterminado, pero en el momento en que cierre y abra una nueva ventana de terminal 'rvm list' indicará que esta versión de ruby ​​que debería estar predeterminada no se está utilizando. ¿Algunas ideas? – Jannis

+5

DOH! Encontré la causa, en mi última línea del archivo '.zshrc' tenía' PATH = $ PATH: $ HOME/.rvm/bin' sin tener 'export' al principio de la línea. Ahora que esta línea dice 'export PATH = $ PATH: $ HOME/.rvm/bin' todo está bien y elegante. Gracias por tu ayuda. – Jannis

1

siguen el RVM instalar doc, agrego 2 líneas en mi ~/.zshrc

#add $PATH in path 
export PATH="$PATH: /opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/Users/m/Downloads/temp/bin:/Applications/apache-ant-1.9.6/bin:/Users/m/Library/Android/sdk/platform-tools:/Users/m/Library/Android/sdk/tools:/Users/m/Desktop/python/vlfeat/bin/maci64:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/m/bin/FDK/Tools/osx" 
source $ZSH/oh-my-zsh.sh 
#rvm puby need this, get this file 
source ~/.profile