Почему ZSH возвращает ошибку "Команда не найдена" для моих гемов RVM? - PullRequest
13 голосов
/ 05 марта 2012

Я использовал для запуска терминала bash по умолчанию, который поставляется с Mac Os X Lion, но недавно был обновлен до ZSH с добавлением Oh My Zsh.

С тех пор я получаю странную ошибку при использовании Ruby gems.

По сути, все гемы возвращают ошибку «Команда не найдена», даже если они установлены.


Вот пример прямо с моего терминала ZSH:

  1. Показывает, что рубин RVM работает должным образом.
  2. rvm list показывает мой рубин RVM по умолчанию, как я хочу.
  3. rvm gem list показывает, что мои драгоценные камни установлены, обратите внимание на sass драгоценный камень .
  4. Выполнение простой команды sass --watch возвращает zsh: command not found: sass.
  5. На всякий случай поможет мой $PATH вывод переменной.

    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/ruby-1.9.2-p290@global/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
    

Если у кого-то есть представление о том, почему все работает и устанавливается, но на самом деле не находит и не запускает команду gem, я был бы признателен за вашу помощь.

Ответы [ 3 ]

15 голосов
/ 05 марта 2012

проверьте ваши rc файлы

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

Скорее всего, один из этих PATH сбрасывается после получения RVM

также некоторые плагины oh-my-zsh могут ломать вещи, пытаясь отключить их и включить один за другим.

3 голосов
/ 12 мая 2014

В моем случае это было связано с ZSH жалуется на RVM __rvm_cleanse_variables: файл определения функции не найден , и, следуя инструкциям, он решил эту проблему.

1 голос
/ 08 декабря 2016

следуйте инструкциям по установке rvm, я добавляю 2 строки в ~ / .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
...