Mac Terminal не может выполнить большинство команд после перезапуска - PullRequest
0 голосов
/ 07 декабря 2018

Я использую Mac.У меня настроенный терминал zsh, и какое-то время все было в порядке.Но после перезагрузки компьютера он начал работать по-другому:

  • Терминал прекратил выполнение таких команд, как rake или rails.
  • Я уже создал приложения с использованием rails, но с помощью команды rails, такой как rails -v, теперь я получаю следующее:

    Rails is not currently installed on this system. To get the latest version, simply type:
    
  • Терминал, используемый дляотобразить тильду ~ вместо моего имени пользователя, и это также остановилось.Теперь он отображает полное имя пользователя:

    Gustaves-MacBook-Air% $ sudo gem install rails
    

Я понятия не имею, почему это не работает, и почему перезагрузка компьютера сломает его, даже если я делал это раньше.

Я даже не могу повторно загрузить рельсы:

$ sudo gem install rails
zsh: command not found: $

, потому что я давно настроил свой терминал после настройки в Интернете.

Ответы [ 3 ]

0 голосов
/ 07 декабря 2018

Я считаю, что ваша среда Ruby для каталога, в котором вы находитесь, не загружена должным образом (отсюда и отсутствующие Rails).Также кажется, что ваша среда ZSH не загружена должным образом (пропущенный ~ является подсказкой).Почему, я не могу быть уверен, но я добавлю кое-что, что вы можете сделать, чтобы помочь тем временем.

Использование Bundler с binstubs и путем

Я помещаю свои проекты в песочницу, устанавливая все драгоценные камни в каталог проекта, используя следующую команду:

bundle install --binstubs --path=vendor.noindex

Это помещает такие вещи, как rails в bin и драгоценные камни в vendor.noindex.Часть noindex останавливает Spotlight от индексации этого каталога, что меня раздражает!

Убедитесь, что ZSH - ваша оболочка по умолчанию

Команда для этого:

chsh -s $(which zsh)

Чтобы увидеть текущее значение по умолчанию echo $0.

Проверьте, что ~ / .zshrc в порядке

Если ваше приглашение не выглядит правильно, возможно, файл находится вплохая форма или не загружен должным образом.Проверьте инструкции для Oh My Zshell .

Убедитесь, что ваш PATH не поврежден

Ваш PATH выглядит так, как будто ему не хватает передней части, так как он начинается сдвоеточие.Проверьте, все ли добавленные вами zsh-плагины работают (возможно, сначала удалите их все и добавьте их один за другим).

Я также использую ~ / .zshenv и помощник, чтобы получитьпути настроены правильно , возможно это вам поможет.Я добавляю это к моему ~ / .zshenv.

if [ -x /usr/local/libexec/path_helper.rb ]; then
  PATH=$(/usr/local/libexec/path_helper.rb -p "")
  DYLD_FALLBACK_FRAMEWORK_PATH=$(/usr/local/libexec/path_helper.rb --dyld "")
  C_INCLUDE_PATH=$(/usr/local/libexec/path_helper.rb -c "")
  MANPATH=$(/usr/local/libexec/path_helper.rb -m "")
fi
export PATH
export DYLD_FALLBACK_FRAMEWORK_PATH
export C_INCLUDE_PATH
export MANPATH

Надеюсь, это поможет.

0 голосов
/ 07 декабря 2018

Вот как я исправил эту проблему, с помощью других людей:

Сначала я удалил сломанные файлы, используя

rm -rf ~/.oh-my-zsh
rm ~/.zshrc

Затем я выполнил следующую команду, чтобы повторно загрузить zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Наконец, я открыл скрытый файл .zshrc в текстовом редакторе, чтобы добавить нужные мне плагины

plugins=(
  git
  bundler
  dotenv
  osx
  rake
  rbenv
  ruby
)

После перезапуска терминала все снова заработало

0 голосов
/ 07 декабря 2018

Попробуйте сбросить zsh:

exec /bin/zsh

или

exec /usr/bin/zsh
...