Error Installing Jekyll - Native Extension Build
RubyMacosRubygemsInstallationJekyllRuby Problem Overview
I'm having some trouble installing jekyll. Can't quite figure out how to patch the missing link. I think it's an update to Ruby, but RVM is having trouble installing alternate versions of ruby as well.
Heres the full post:
$ sudo gem install jekyll
ERROR: Error installing jekyll:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1/ext/gem_make.out
Does this mean I need to update the version of ruby I'm using via rvm?
Ruby Solutions
Solution 1 - Ruby
Ubuntu
sudo apt-get install ruby-dev
gem install jekyll
Solution 2 - Ruby
Your problem is that either you system doesn't know where make is located at or you don't have it installed. The easiest way to fix this (and probably other issues you'll run into trying to get a ruby system up and running) is to install xcode.
You can get it at http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 for lion. Or it came on a CD with your computer for earlier versions.
If you're using Lion, please see comments below for a link to how to install developer tools on Lion.
Solution 3 - Ruby
I had the same error on Ubuntu and this helped me sort it out.
You must have ruby-dev installed
apt-get install ruby-dev
Solution 4 - Ruby
If you installed XCode and command line tools are still missing go to Terminal and
xcode-select --install
it will prompt you to install these tools. After that just follow SrBlanco´s answer. That solved the problem for me.
Good luck.
Solution 5 - Ruby
Need to install "make".
I am using Ubuntu 12.10.
sudo apt-get install make
Should work on any Debian based distro.
Solution 6 - Ruby
Note: this problem also occurs on newer MacBook Pro models that come with Mavericks pre-installed. I updated another post with my own solution that didn't involve Xcode at all. My system had the Xcode developer tools installed when I got the machine.
Solution 7 - Ruby
Install Xcode as mentioned if you don't have it installed already (https://developer.apple.com/xcode/). Plus you need the command line tools.
Open Xcode. Go to Preferences > Downloads > Install Command Line Tools
Solution 8 - Ruby
Installing command line tools for Xcode solved the problem for me on my Mac
xcode-select --install
.
Solution 9 - Ruby
- sudo apt-get install ruby-dev
- sudo gem install jekyll
hope this will help, it works with me.
Solution 10 - Ruby
I had this same exact error when trying to install Jekyll, and the following steps from this link helped me. Just in case anyone else comes across this!
Solution 11 - Ruby
I was facing the same issue in my Fedora 22 setup. I had ruby
installed but didn't have ruby-devel
. Installing ruby-devel
fixed the issue for me.
dnf install -y ruby-devel
For older systems:
yum install -y ruby-devel
Solution 12 - Ruby
I followed this on Ubuntu/Linux Mint
sudo apt install build-essential
sudo apt install ruby-dev
sudo gem install jekyll
Solution 13 - Ruby
An addendum: You can install XCode now from the App Store on Mountain Lion. The process is transparent and pretty fast.
Solution 14 - Ruby
I had the same problems with you.
I use Mac OS X 10.9 develop preview version, and I had installed gcc and Xcode.
But my Xcode version is 4.6.
Then I install the Xcode 5.0
After that I type sudo gem install jekyll
in the terminal again. Then it works.
Wish it could help someone.
Solution 15 - Ruby
Installing Xcode and going to perferencs > downloads > install commandline tools WORKS!
Solution 16 - Ruby
Same problem on Debian, I had forgot to run this command:
~/.rvm/scripts/rvm
Solution 17 - Ruby
All these answers did NOT work for me.
If you're looking for a solution on ubuntu 14.04, do this:
sudo apt-get install ruby1.9.1-dev zlib1g-dev nodejs
sudo gem install jekyll -v 2.5.3
Unfortunately, nodejs is required because of a bug in Jekyll that enforces existence of runtime JS engine even though it doesn't need one.
Solution 18 - Ruby
For Ubuntu, this helped in my case:
apt-get install libffi-dev
A general advice is to just follow what is displayed as the reason for the error and hopefully you'll be provided with a log file in which the first line suggests which package should be installed, in my case:
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/ffi-1.9.21/mkmf.log
Solution 19 - Ruby
MacOS
my solution to this problem
- install xcode
- type
xcode-select --install
in the command line - type
sudo gem install jekyll
in the command line
PS: It is the combination of the two answers in this question.
Solution 20 - Ruby
You are missing the ruby-dev file , just go ahead and run this command - sudo apt-get install ruby-dev
Hope this helps!!
Solution 21 - Ruby
I had the same issue on my macOS(10.14.2), the reason may be:
> Apparently with OSX el Capitan, there is a new security function that prevents you from modifying system files called Rootless.
My solution is using rvm:
- install ruby on Mac OS X with RVM
- gem install jekyll
Solution 22 - Ruby
On windows I have this issue
I actually installed the version rubyinstaller-devkit-2.6.3-1-x64 of ruby
I have removed the ruby completely and Installed the rubyinstaller-devkit-2.5.5-1-x64
and issued the following commands on powershell
gem install bundler
gem install jekyll
and this time no errors where found
Solution 23 - Ruby
I had this issue and of all things, the error was occurring because I hadn't agreed to some updated terms of service in xcode. Running the following did the trick for me. Go figure.
sudo xcodebuild -license accept
Solution 24 - Ruby
For me, I had to upgrade homebrew and install rbenv
to the latest ruby version. After that, I followed the instruction at jekyll website. My OS is Catalina 2019, I couldn't install Xcode, which is not compatible yet!
> You have to set the path in your .bash_profile
to make sure that it initializes the rbenv
when you restart your terminal.
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
then
$ rbenv version
2.2.3 (set by /Users/mislav/.rbenv/version)
$ rbenv shell
rbenv: no shell-specific version configured
hope that help!
Solution 25 - Ruby
Here is the (only?) reliable and simple way to install Jekyll on macOS
- Install UTM
- Install Ubuntu Server
- Install Jekyll using Ubuntu instructions at https://jekyllrb.com/docs/installation/ubuntu/
- Forward port 22 in the VM settings (22->localhost->22)
- Use VS Code on the macOS host
- Install Remote SSH
- Connect to USER@localhost
- Drag and drop the folder on Mac into VS Code (this transfers files to remote)
- Enable port forwarding for 4000 (bottom bar on VS Code)
- Work on your website
- Right click on your website on the file explorer and click download
If you have not done these steps, you might be delighted by:
- Ubuntu imports your public SSH key from GitHub
- VS Code magically handles file transfer in and out
- VS Code magically installs your VS Code extensions onto the remote server and allows file search on the remote host