OSXの自作から「そのようなファイルを読み込めない-utils / popen」を回避する方法


327

brewターミナルで実行するとエラーが発生します 。

 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- utils/popen (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/utils.rb:6:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/Homebrew/global.rb:9:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/Library/brew.rb:16:in `<main>'

これらは私の宝石設定です:

- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
  - ruby
  - universal-darwin-13
- GEM PATHS:
  - /Library/Ruby/Gems/2.0.0
  - /Users/ronaldkwan/.gem/ruby/2.0.0
  - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
- GEM CONFIGURATION:
  - :update_sources => true
  - :verbose => true
  - :backtrace => false
  - :bulk_threshold => 1000

1
情報を追加できますか?正確にどのコマンドを実行しましたか?
Unihedron 2014

私はunixに「brew」と入力しました
kerokero

実行するとどうなりますbrew doctorか?
grenierm5 2014

同じエラー。ここに私のenv gem設定があります
kerokero 2014

Rubyのインストールが不完全なようです。再インストールするか、別のrubyインストールを使用してみてください。
gorootde 14

回答:


803

この問題は主に、OS XをEl Capitan(OS X 10.11)またはmacOS Sierra(macOS 10.12)にアップデートした後に発生します。

これは、El Capitan以降のmacOSの新しいSIPプロセスでのファイル権限の問題が原因です。/usr/localディレクトリの権限を変更してみてください:

$ sudo chown -R $(whoami):admin /usr/local  

それでも機能しない場合は、ターミナルセッション内で次の手順を使用してください。すべて問題ありません。

cd /usr/local/Library/Homebrew  
git reset --hard  
git clean -df
brew update

これは、自作が更新されていない可能性があります。


39
El Capitanのアップデートが原因で問題が発生しました。これで問題は解決しました。ありがとう。
Vivek

4
ここでも同じですが、El Capitanにアップグレードすると問題が発生しました。最初に権限をリセットしてからgitコマンドを実行し、brewの更新が機能しました。ありがとう。
Bob

4
El Capitanにアップグレードした後にその問題に直面している場合、これは正解です:)
chemic

3
macOS Sierraにアップグレードした後、この問題が発生しました。これで解決しました、ありがとう!ただし、の権限を変更する/usr/local必要はないようです。「Homebrewは/ usr / localの所有権を持つ必要がなくなりました。必要に応じて、次のコマンドで/usr/localデフォルトの所有権に戻すことができます。 sudo chown root:wheel /usr/local
Bert

5
2番目の方法がうまくいきました。HOMEBREWディレクトリがどこにあるのかを見つける必要があるだけです。私の場合:/usr/local/Library/Homebrew
Alexander

378

まず、ターミナルセッションを開いて実行します。

cd /usr/local/
git status

Homebrewがクリーンかどうかを確認します。

汚れている場合は、次を実行:

git reset --hard && git clean -df

その後

brew doctor
brew update

それでも壊れる場合は、セッションでこれを試してください:

sudo rm /System/Library/Frameworks/Ruby.framework/Versions/Current
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/1.8 /System/Library/Frameworks/Ruby.framework/Versions/Current

これにより、HomebrewはシステムのインストールからRuby 1.8を使用するようになります。


7
おそらく良い答えですが、両方のコマンドを実行すると他のエラーが発生します(誰かがこのシナリオをカバーしたい場合に言及します):-rm:/System/Library/Frameworks/Ruby.framework/Versions/Current:操作は許可されていません
PandaWood 2016

4
私は単に自作を新しいバージョンで再インストールし、それが機能し始めました。インストールするためのリンクが記載されたhomebrewのホームページを確認してください。そうすると、homebrewがすでにインストールされているというメッセージが表示され、アンインストールの方法がわかります。
pertz 2016

したがって、アンインストール/再インストールすると、Homebrewが再び機能するようになりました。また、インストールしていたすべてのものが削除され、基本的にはシステムが破壊されました。だから素晴らしいソリューションではありません。
Evan Knowles 2016年

rubyでエラーが発生し、RVMを使用している場合は、発行rvm use system時にMac OS Xのrubyを使用していることを確認してくださいbrew update
DavidJ

OS Xの最新バージョンのデフォルトのRubyは1.8ではなく2.0であることに注意してください。
bfontaine 2016年

82

homebrewをアンインストールします。

 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

その後、再インストールします

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

警告:このスクリプトは以下を削除します:/ライブラリ/ Caches / Homebrew / -thks benjaminsila


1
Homebrewのアンインストールを実行してから、再インストールします。問題を修正しました。@OsTa ruby​​ -e "$(curl -fsSL raw.githubusercontent.com/Homebrew/install/master/uninstall)"警告:次のスクリプトは削除します:/ Library / Caches / Homebrew /
BenJaminSila

3
ショットガンアプローチのようなものですが、これはファイル権限を管理するよりも簡単に機能しました...
BenKarl

1
10.12(Sierra)にアップグレードされたシステムで、アンインストール/再インストール後に「brew doctor」を実行して、いくつかのアクセス許可の問題を修正するための指示に従いました。
正常に

ハードドライブがクラッシュした後、基盤となるgitリポジトリが破損し、git resetが機能しなかったのに、un- / reinstallingが機能しました。ただし、インストールしたパッケージをすべて再インストールする必要がありました。
bsumirak 2017年

26

私の場合、私はHomebrewの実行可能ファイルを削除する必要がありました:

sudo rm -f `which brew`

次にHomebrewを再インストールします。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2
この後にbrewのインストール/アンインストールループで行き詰まった場合は、次のリンクを使用してください-github.com/Homebrew/homebrew/issues/44460
fortm

このメッセージで2番目のコマンドを試しましたか(これはエラーではなく、何か問題があったことを示しているようです)?-は/ usr / localなビンセラーCODEOFCONDUCT.md CONTRIBUTING.mdなどのフレームワークのgitの現在の内容は、図書館LICENSE.TXT libに含まQt4.7 README.mdシェアオプトSUPPORTERS.md VAR .git .gitignore
PandaWood

@PandaWoodいいえ、私はしませんでした。コメントで「このメッセージ」を使用して描いたエラーメッセージの内容は何ですか?
2016

@ -deeperx「-」の後のすべて。結局、brewをアンインストールしてから再インストールする必要がありました
PandaWood

@PandaWood正しいカンマを使用していますか?ここに直接コピーして貼り付けることはできますか?
イナングムス2016

24

El Capitanに更新した後、権利を/usr/local持ちroot:wheelます。

次のコマンドを使用して、権限をユーザーに戻します。

sudo chown -R $(whoami):admin /usr/local

そして:

brew doctor && brew update

これにより、Homebrewが再び機能するようになりました。


2
かなり危ないですか?
FRAGA 2016

/usr/localセキュリティ上の理由からOSでへのアクセス許可が変更されました。つまり、「以前と同じように権利を戻した」からといって、それが良いことであるとは限りません。
リーンリーン2017年

8

最初に私は実行しました:

sudo chown -R $(whoami):admin /usr/local

次に:

cd $(brew --prefix) && git fetch origin && git reset --hard origin/master

1
ちなみに、Homebrewのインストールはでした/usr/local/Homebrew/ので、を使用する必要がありましたcd $(brew --prefix)/Homebrew
Joshua Pinter 2016年

3

この問題は、Homebrewの最新バージョンで修正されるはずです。それを再インストールしてみてください。これはHomebrewホームページに記載されています。


1

私には、Cシステムライブラリであるpopenのヘッダーファイルが見つからないようです。

コマンドラインツールを使用してxcodeが正常にインストールされ、ライセンスに同意したかどうかを確認します。

詳細については、このスレッドを参照してください:Xcodeコマンドラインツールのインストール方法


0

Homebrewの設定を復元するには、次のことを試してください。

cd /usr/local/Homebrew/Library && git stash && git clean -d -f && git reset --hard && git pull
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.