Yosemite Upgrade Broke Ruby.H

OSX Yosemite update breaks pow.cx

I had the same issue with pow.cx on my two macbooks after upgrading OSX to Yosemite.


First, One of the two Macs is fixed by updating pow

curl get.pow.cx/uninstall.sh | sh
curl get.pow.cx | sh

It fixed one of the two computers.


Then, for the second mac, pow is fixed by removing network configuration & preference file. Manually trashing the network plist files should be your first line of trouble shooting. This is one of those tricks that consistently resolves even the most stubborn wireless problems on Macs. Updating to Yosemite might have a corrupt preference file. Follow steps below:

  1. Turn off Wi-Fi from Wireless menu item
  2. Go to finder /Library/Preferences/SystemConfiguration/
  3. Within this folder locate and select files:
    com.apple.airport.preferences.plist
    com.apple.network.identification.plist
    com.apple.wifi.message-tracer.plist


    NetworkInterfaces.plist


    preferences.plist

  4. Move all of these files into a folder on your Desktop called ‘wifi backups’ or something similar – we’re backing these up just in case you break something but if you regularly backup your Mac you can just delete the files instead since you could restore from Time Machine if need be

  5. Reboot the Mac. This forces OS X to recreate all network configuration files.
  6. Turn ON WI-Fi from the wireless network menu again.

For more detailed steps, please see Fix Wi-Fi Problems in OS X Yosemite

This issue costed me 4 hours.

Ruby install broken

Ruby looks for gems in version-specific paths, ignoring the patch version. So if you previously installed gems under Ruby 2.0.x, they went in /Users/cici/.gem/ruby/2.0.0 but now that you've installed Ruby 2.2.x, it's looking in /Users/cici/.gem/ruby/2.2.0.

This can be an issue when you upgrade Ruby, because all of your gem executables (e.g. bundle) are still in your $PATH, but their required files are no longer in Ruby's load path because of the new version. Try running which bundle; I bet it's in some path like /Users/cici/.gem/ruby/2.0.0/bin.

The solution is to reinstall all of your gems, and to possibly update your $PATH to not include executables from the older version. rbenv should handle that last part if you set it up correctly.

Docker for Mac - mkmf.rb can't find header files for ruby

For Xcode 11 on macOS 10.14, this can happen even after installing Xcode and installing command-line tools and accepting the license with

sudo xcode-select --install
sudo xcodebuild -license accept

The issue is that Xcode 11 ships the macOS 10.15 SDK which includes headers for ruby2.6, but not for macOS 10.14's ruby2.3. You can verify that this is your problem by running

ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

which on macOS 10.14 with Xcode 11 prints the non-existent path

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

However, Xcode 11 installs a macOS 10.14 SDK within /Library/Developer/CommandLineTools/SDKs/MacOS10.14.sdk. It isn't necessary to pollute the system directories by installing the old header files as suggested in other answers. Instead, by selecting that SDK, the appropriate ruby2.3 headers will be found:

sudo xcode-select --switch /Library/Developer/CommandLineTools
ruby -rrbconfig -e 'puts RbConfig::CONFIG["rubyhdrdir"]'

This should now correctly print

/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

Likewise, gem install should work while that SDK is selected.

To switch back to using the current Xcode 11 SDK, use

sudo xcode-select --switch /Applications/Xcode.app

Apache httpd.h file missing on MacOSX after Mavericks Upgrade (** Updated for Yosemite **)

I was having the same error. You need to:

  1. Update/install xcode.
  2. run xcode-select --install from the command line to reinstall the command line tools.

It worked for me, hopefully for you too!

The update also commented out the line:

Include /private/etc/apache2/extra/httpd-vhosts.conf

So once I uncommented that it all loaded as normal.

** UPDATE FOR YOSEMITE **

In your /etc/apache2/httpd.conf file you'll need to change:

<Directory />
AllowOverride none
Require all denied
</Directory>

To:

<Directory />
AllowOverride none
Require all granted
</Directory>

OS X Mavericks broke rbenv?

Well...the secret apparently is to uninstall and then reinstall rbenv. Actually, uninstalling and reinstalling a dev tool broken by OS X Mavericks seems to (almost) always be the solution.

gem and/or Ruby on Rails broke all of a sudden, anyone know what happened?

I'd try cleaning out all your installed gems by running

rm -rf ~/.gems
sudo rm -rf /Library/Ruby/Gems/*

After this gem list should list no gems. Then run

sudo gem update --system

to ensure Ruby Gems is at the latest version. You'll then have to reinstall all your gems. (Probably gem install bundler followed by bundle install).

By the way, you should check out rbenv or rvm for managing Ruby versions and keeping all your development gems separate from the system Ruby.



Related Topics



Leave a reply



Submit