CocoaPodsがmacOS High Sierraで機能しない


162

macOS High Sierraにアップグレードした後、CocoaPodsが機能しません。CocoaPodsから離れるのは魅力的ですが、残念ながら現在は対象外です。エラーメッセージは以下のとおりです。

zsh: /Users/****/.gems/bin/pod: bad interpreter: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin: no such file or directory

エラーはRubyがアップグレードされていることに起因していることがわかりましたが、簡単な修正は何ですか?CocoaPodsに新しいルビーバージョンを使用させると、他のエラーが発生します。

編集:今のところ私は、インストールRuby 2.0rvm install 2.0.0し、rvm use 2.0.0その後、再インストールCocoaPods sudo gem install cocoapods。現在動作しているようです。


コマンドラインツールを更新しましたか?
マット

@mattはい、sudo xcode-select -s /Applications/Xcode-beta.appそしてsudo xcode-select --installそこからGUIに従いました。
Maciej Swic 2017

私はここでそれらを考えていました:developer.apple.com/download/more私はしばしばそれらをインストールするまで外部ツールが機能しないことに気づきます。
マット

回答:


416

https://github.com/CocoaPods/CocoaPods/issues/6778によると、CocoaPodsを再インストールするとこの問題が解決するはずです。

sudo gem install cocoapods

2
私のためにも働いた、受け入れられたソリューションとしてマークする必要があります
swalkner

17
単純な「ココアポッドの再インストール」が機能しました(このコマンドを実行するため)。指摘いただきありがとうございます。
マーカス2017

これは機能しますが、更新されたRubyバージョンを見つけることができないため、CocoaPodsの問題であるはずです。おそらくそれを再インストールすると、インストールが再度チェックされるだけなので、「修正」されます。
HansKnöchel

gem install cocoapods-nilから文字列エラーへの暗黙の変換をスローしませんが、「brew再インストールcocoapods」が機能しました。ありがとう@Markus
クリシュナン

gem install -n / usr / local / bin cocoapodsが役立ちます
Anupam Gupta

112

macOS High Sierraにアップグレードしたら、次のコマンドで修正します。

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

それが終了したら、以下のコマンドを書きます:

pod install

このソリューションは私のために働いています... !!!


1
最初のコマンドを実行すると、「エラー:gemの実行中...(Errno :: EPERM)@ rb_sysopen-/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem」の操作は許可されていません。しかし、2番目を実行しても「ポッドインストール」は機能しました。ありがとう。
ブライスSandlund 2017年

「警告」にもかかわらず、私はとにかくここに感謝を表明するつもりです。これは私のために働いた唯一のものでした。ココアポッドを(数回)再インストールするだけで、両方の手順を実行するまで違いはありませんでした。ほんとありがと!
ホイギル2017年

私は次のコマンドでルビー更新を実行しなければなりませんでした:sudo gem update -n /usr/local/bin --system
Paul Popiel

私のために働いた(cocoapods 1.5.3)。
atereshkov

27

CocoaPodsのインストール中にこのエラーが発生しました

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

そして、私はこの声明を使用しました。出来た!

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

1
これが私にとってうまくいくように思えた唯一の解決策です。ありがとう
Dan Beaulieu


9

これは私の問題を解決しました:

$ brew install ruby
$ gem install -n /usr/local/bin cocoapods

投稿されたコードが何をするのかを簡単に説明して、このテクノロジーを
初めて

1
ココアポッドを初めて使う人は、他の人と同じように読む方法を知っている必要があります。
ティボーノア2017

@MathieuVIALES、「brew install ruby​​」は、Homebrewパッケージャ(brew.sh)がすでにあることを前提としています。次に、そのコマンドがインストールされます(または、実際にはHomebrew自体をインストールするためにrubyが必要なため、おそらく技術的にはrubyを再インストールします)。次の行「gem install -n / usr / local / bin cocoapods」は、CocoaPodプログラムを再インストールします(詳細はcocoapods.orgにあります)。
エディエディエディ


6

そのため、High Sierraに更新した後もこの問題に遭遇し、Rubyフレームワークがアクセスしていたファイルの場所にいくつかの変更があったようです。

あなたはそれを使ってそれを解決することができます、

sudo gem install cocoapods

安全な対策のためにポッドも更新します

pod repo update 

そして最後に

pod install

podファイルを再び機能させるため。

これがお役に立てば幸いです:)


5

使ってみてください

sudo gem update --system

sudo gem install cocoapods

これは私のために働いた



5

Cocoapodsインストールプロセス:

  1. sudo gem install cocoapods (cocoapdsに問題がある場合は、gemファイルを更新してください)

  2. sudo gem update --system

  3. sudo gem install cocoapods


4

私にとって、私はしなければなりませんでした:

gem uninstall cocoapods
which pod

まだパスに表示されていたので、削除しました。それでも表示されないことを確認しました。

その後

gem install cocoapods

最後に !cocoapodsをインストールする前に古いポッド実行可能ファイルを削除するのがうまくいきました
Seb Fanals 2018年

4

ターミナルに移動...

ステップ1)。sudo gem install cocoapods

カカオポッドのインストール完了後

ステップ2)。ポッドレポの更新

完成した


3

のインストール後にもこのエラーが発生しましたHigh Sierra

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.

Danh Huynh(上記を参照)によって識別された次のステートメントを使用しました。

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

1
これは、この既存の答えの単なる繰り返しですよね。
2017

これで解決しました
MiMo

3

MacOS High Sierraはデフォルトでruby 2.3を使用します。アップグレード後、一部の古いルビーgemは正しく機能しない場合があります。bundleコマンドを実行すると、この問題が発生します(bundlerはruby gemです。bundleというユーティリティがあります)。

そのため、明確にするために、ruby 2.0にアクセスしようとしている古いruby gem(cocoapods、bundleなど)はすべて失敗します。

解決策は、それらの古いgemを、書き込み権限のあるディレクトリに再インストールすることです。

ココアポッドについては、

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

トリックを行います。

beforeインストールが必要な場合は、オプションでgemシステムをアップグレードできます。

sudo gem update --system

これにより、アップグレードが失敗したことが示される場合があります。しかし、実際には、次のように入力した場合:

gem --version

アップグレードが成功したことがわかります。

バンドラーや他の宝石についても、同じことを試してください:

sudo gem install gem-to-install(for example, bundler) -n /usr/local/bin

-nオプションについて。それをお見逃しなく。必要に応じて、gemのドキュメントを確認できます。

したがって、解決策はすべてreinstalling the old gem適切なディレクトリにあります。


1

私が同じことをしている間、私はそれを言っている別のエラーを得ました

エラー:gemの実行中...(Gem :: FilePermissionError)/Library/Ruby/Gems/2.3.0ディレクトリへの書き込み権限がありません。

それから私はこれをし、うまく働きました。

sudo gem uninstall cocoapods

sudo gem install cocoapods

1

同じ問題、解決策があった:

  1. Rubyを再インストールする

    brew install ruby

  2. Cocoaポッドを再インストールします

    sudo gem install cocoapods


1

これは、Mac OSX High Sierraにアップグレードした場合の一般的な問題です。

修正は単にCocoapodsを(再び)インストールすることです:

sudo gem install cocoapods

1

これをターミナルで実行するとうまくいきました:

sudo gem install cocoapods

0

ターミナルで以下のコマンドを使用した後、プロジェクトにココアポッドをインストールできます。

sudo gem install cocoapods --source http://rubygems.org

0

私もこの問題に直面しましたが、さまざまな再インストール/更新のように劇的ではない方法で修正しました。PATH環境変数を更新して、既存の(2.6.0)Rubyバージョンを指摘しました。


0

カタリナにアップグレードした後も同じ問題が発生しました。

  1. 最初にこれらの指示に従ってbrewとrubyをインストールすることにより、ruby installを更新しました。 https://gorails.com/setup/osx/10.15-catalina(ただし、RubyのみでRailsは不可)

  2. 次に、上記の手順を使用してココアポッドを再インストールしました。

    sudo gem install cocoapods

その後、やはり上記のエラーが発生しました。次に、「zsh」と入力して新しいシェルを生成し、〜/ .zshrcファイルに構成設定を取り込みます。この後、「ポッド更新」コマンドが再び機能しました。


0

Sudoを使用しない.zhsフレンドリーなソリューション

最近のmacOSはsudo、bashの使用とbshからzshへの移行を推奨していません。そのため、この回答は、ファッションと戦う予定がない場合に役立ちます。

  1. それは保証する.zshenvことにより、存在するtouch ~/.zshenvコマンド。次の行を追加して、RubyGems環境を構成します。

    export GEM_HOME=$HOME/.gem
    export PATH=$GEM_HOME/bin:$PATH

    ターミナルを再起動することを忘れないでください。

  2. を実行しますgem install cocoapods

0
If cannot install new version cocoapods, example below:
1. Please remove Command line tools
sudo rm -rf /Library/Developer/CommandLineTools
2. Install new Command line tools version
sudo xcode-select --install
3. after installing run below command
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.