Переключение на zsh ломает рельсы в командной строке - PullRequest
7 голосов
/ 05 марта 2012

Я только недавно переключился на использование zsh с oh-my-zsh, и у меня возникают проблемы с использованием инструмента командной строки rails. Вот шаги, которые я прошел, и ошибка, которую я получаю.

Я выполнил команду curl, которую предоставляет страница github:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

Затем я запустил rails s, это следующее сообщение об ошибке, которое я получаю:

.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find railties (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)

Похоже, у меня ошибка с гемом, поэтому я переустановил rvm, rails и bundler, но ничего не решило проблему. Однако, если я снова переключу свой терминал на bash, у меня не будет никаких проблем, и рельсы будут работать отлично. Кто-нибудь еще сталкивался с подобной проблемой? Я хочу использовать zsh, потому что кажется, что он обладает лучшими возможностями, но если я не могу использовать рельсы, тогда я должен сбросить его на бордюр.

Это строки в конце моего файла .zshrc:

export PATH=/Users/thomascioppettini/.rvm/gems/ruby-1.9.3p0/bin:/Users/thomascioppettini/.rvm/gems/ruby-1.9.3-p0@global/bin:/Users/thomascioppettini/.rvm/rubies/ruby-1.9.3-p0/bin:/Users/thomascioppettini/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

Ответы [ 4 ]

11 голосов
/ 04 мая 2012

Что я сделал для работы с пакетами zsh и rvm, то есть с несколькими фильмами о теле:

1) добавьте в .zshrc в первую строку, чтобы исправить директорию поиска bin (ваш CO):

PATH = $ PATH: $ HOME / .rvm / bin # Добавить RVM в PATH для сценариев

2) добавить следующую строку после предыдущей:

[[-s "$ HOME / .rvm / scripts / rvm"]] &&.«$ HOME / .rvm / scripts / rvm»

3) и в конце измените PATH:

export PATH = $ PATH: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games

Для меня это нормально работает (теперь это правильно определить $ PATHсо всеми наборами гемов rvm)

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

Вы положили

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

в свой .zshrc?

Я предполагаю, что установщик rvm устанавливает его только в .bashrc

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

Хорошо, я заставил его работать, удалив путь, заданный в zshrc, и скопировав строки rvm из моего bash_profile, чтобы получить правильную конфигурацию из rvm. Если вы запустите следующую команду в своем терминале, она должна работать:

cat ~/.bash_profile >> ~/.zshrc
0 голосов
/ 01 марта 2018

Если вы используете rbenv, скопируйте эту строку из bash.rc, к которой вы можете получить доступ sudo gedit ~/.bashrc

export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" export PATH="$HOME/.rbenv/bin:$PATH", введите код eval "$(rbenv init -)"

и вставьте его в zshrc, к которому можно получить доступ sudo gedit ~/.zshrc

...