blob: c24565d8ba4898b7eb552eabb1c261fdd25fd1fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
---
layout: post
title: "Setup Jekyll from Scratch on a New Linux System"
date: 2022-09-19
---
**Special Note:** Credit needs to be given to user [Achraf JEDAY](https://stackoverflow.com/users/4974784/achraf-jeday) for putting these instructions together on Stack Overflow (although his comments were targeting an older version of Ruby). This post is more for my own personal notes than anything else.
I find myself constantly running into small issues when trying to setup existing Jekyll projects on new Linux systems. I *could* use something like Docker, but that just seems so beefy and slow to me. So here is a step-by-step way (and foolproof from my own testing) to get Jekyll running smoothly in no time!
## Figuring out Ruby First
The first item of business is removing the default Ruby that ships with most Linux distros:
sudo apt-get remove ruby
Then we check for updates and install everything we need:
sudo apt update
sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev
Now we can install `rbenv` and `ruby-build`:
curl -sL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-installer | bash -
After both of those install, you will want to add those to your system **PATH**:
### Bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
### ZSH
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc
With that complete, we can now install the version of Ruby we wish to use and set it globally (at this time of writing it is `3.1.2`):
rbenv install 3.1.2
rbenv global 3.1.2
And `rehash` so our changes take:
rbenv rehash
Now you should see the properly set Ruby version when you run the following:
ruby -v
## Getting Ruby Gems
In case you don't have it installed already, be sure to grab `rubygems`:
sudo apt install rubygems
## Running Jekyll
We are almost done! Navigate to your Jekyll project's directory and run:
gem install jekyll bundler
bundle install
That's it! Now if you run `bundle exec jekyll serve` you'll find your Jekyll project running locally! Hopefully this helps others when needing to port any Jekyll projects over to a new Linux system. I know it will save me time!
## Alpine Linux on Wayland
Save yourself a world of trouble: just use `docker`. The docker image below (jekyll-serve) works out-of-the-box:
[https://github.com/BretFisher/jekyll-serve](https://github.com/BretFisher/jekyll-serve)
Then run the following inside your project:
docker run -p 4000:4000 -v $(pwd):/site bretfisher/jekyll-serve
|