запуск модуля pod дает мне «плохой интерпретатор: нет такого файла или каталога»


203

Недавно попытался сделать, pod setupи я получаю это:

-bash: /usr/local/bin/pod: /usr/local/opt/ruby/bin/ruby: bad interpreter: No such file or directory

Я следовал руководству Рэя Вендерлиха по установке Cocoapods, и я получил эту проблему, поэтому я понятия не имею, что происходит.


Неправильная установка Ruby?
SwiftArchitect

Какая у вас система? [Дарвин (Mac OS X)?] Как вы установили Ruby? [заваривать? порты? из источника?] Как вы управляете версиями Ruby? [РВМ? rbenv?] Каким руководством Рэя Вендерлиха вы следовали? [есть несколько]
MWP

Ошибка в основном говорит вам, что переводчик, которого вы пытаетесь использовать, отсутствует. Посмотрите на / usr / local / bin / pod, первую строку (начинающуюся с #!), И вы увидите там интерпретатор ruby. Есть ли что-нибудь в / usr / local / opt / ruby? Вы используете rbenv, rvm?
Мирча

Ответы:


463

Я столкнулся с этой проблемой при обновлении до Mac OS High Sierra.

Это было мое исправление:

sudo gem install cocoapods

Я нашел этот ответ в списке проблем CocoaPods на Github .


5
Этот исправил это для меня.
Андрей

28
не забудьте sudo:sudo gem install cocoapods
blackhawk4152

2
У меня была та же проблема, я делал brew updateи brew upgradeустановил последние кокаподы для меня и сделал
свое дело

10
Это помогает и с Каталиной.
Посен

16
Это исправило это для меня на macOS Catalina. Спасибо :)
Benr783

92

Это случилось, когда я перешел на Каталину. Я решил это, запустив:

sudo gem install -n /usr/local/bin ruby
sudo gem install -n /usr/local/bin cocoapods

10
Это было решением для меня после перехода на Каталину.
Джо

Возможно, вам придется установить отдельный пакет для среды разработки ruby, например, ruby-dev или ruby-devel.
Чандни

Наряду с этим у меня также была проблема с openssl, которую я должен был сначала исправить -brew uninstall openssl & brew install openssl
Jacksonkr

71

После обновления до High Sierra я получил ту же ошибку, просто переустановил cocoapods

sudo gem install -n /usr/local/bin cocoapods

Работал хорошо, приятно!
Джон Сардинья

Это необходимо для Высокой Сьерры. Спасибо.
Gunjot Singh

11
Для тех, кто обновился до Каталины, это тоже нужно.
1993 год,

50

Та же проблема, с которой я столкнулся, когда я обновил нашу систему с Sierraдо Mojave.Также работает для Каталины

Работали следующие шаги:

sudo gem update --system
sudo gem install -n /usr/local/bin cocoapods

Я получил помощь по следующей ссылке .


4
Получение той же проблемы после обновления до Каталины. Это помогает! Используйте Sudoперед, чтобы получить разрешение на запись fwiw.
Ин Чен

4
Я оказался здесь после установки Catalina. Это хорошо работает.
Hoon

2
работал для меня после обновления 10,14 Мохаве до 10,15 Каталина
Fato

15

я исправил это, запустив brew install ruby


Мне пришлось переустановить rew uninstall cocoapods rew install cocoapodsпосле того, как я установил ruby, чтобы ошибка исчезла.
Гюнтер Цохбауэр


6

Пока я пытаюсь установить снова, я получил еще одну ошибку, говоря, что

ОШИБКА: при выполнении gem ... (Gem :: FilePermissionError) У вас нет разрешения на запись в каталог /Library/Ruby/Gems/2.3.0.

Тогда я сделал это и работал нормально.

sudo gem uninstall cocoapods

sudo gem install cocoapods

Скорее всего, вам не нужно было удалять. Эта ошибка просто говорит о том, что у вас нет необходимых прав для выполнения того, что вы пытались сделать. Таким образом, добавление sudoбыло все, что вам нужно. См. Комментарий от [ stackoverflow.com/users/877341/blackhawk4152] выше
PJayRushton

5

У меня сработало следующее:

Выберите Инструменты командной строки в XCode.

    XCode > Preferences > Locations > Command Line Tools > XCode 11.X.X

In terminal execute:

    sudo gem install cocoapods -n /usr/local/bin

https://stackoverflow.com/a/60464653



4

После обновления с OS X Mojave до OS X Catalina я получил это сообщение при запуске pod initили pod --version: -bash: /Users/mangolassi/.gem/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory

Мне не нравится идея, sudo gem install cocoapodsпоэтому у меня есть папка .cocoapods в моем пользовательском каталоге, и я изменил свой .bash_profile, чтобы он указывал на нее. Ошибка, которую я получил, состояла в том, что версия 2.3 была жестко запрограммирована в этом файле: /Users/eric/.gem/bin/podи Каталина пришла с 2.6.

Возможно, что установка sudo перезапишет этот файл успешно, и, вероятно, удастся, но я хотел сохранить первоначальные настройки.

Я был в состоянии просто изменить первую строку shebang файла, /Users/eric/.gem/bin/podчтобы иметь путь с 2.6 вместо 2.3, и это сработало. Все изменения меняли «3» на «6» в моей погоне, поскольку версия все еще была «2».


Ницца! Только этот ответ работал для меня. Видимо после обновления до каталины рубин 2.3 был заменен на 2.6
камен добрев


0

В моем случае ничего из вышеперечисленного не сработало. У меня был установлен ruby ​​2.3.0, и мне пришлось перейти на версию 2.0.0:

gem update --system 2.0.0


0

Для этого «одобренный rubyist» способ состоит в том, чтобы установить менеджер версий ruby ​​(rbenv) и через него установить cocoapods. sudoВозиться с и ваши рубины может привести к слезам.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.