Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add bundler installation and comprehensive setup instructions #276

Merged
merged 5 commits into from
Jun 26, 2020

Conversation

fmichonneau
Copy link
Contributor

@fmichonneau fmichonneau commented Oct 2, 2019

Following carpentries/maintainer-RFCs#1, here is a first draft of the updated setup instructions for Maintainers and community members to be able to render the lessons locally using Bundler.

These are far from being done and we'd love feedback from Maintainers to make them better and accurate.

  1. The Windows installation instructions need to be better tested, especially by people who are not set up yet and need to go through the instructions and by people with more technical knowledge about Windows than I do to double-check that the instructions are comprehensive and accurate.

  2. The macOS installation instructions need to be fully written. Unfortunately, I don't have this system at my disposal which makes writing installation instructions challenging.

  3. Any other general content for clarity and comprehensiveness are welcome!

TODO

@ErinBecker
Copy link
Contributor

Thank you @fmichonneau for putting together this first draft. I have a Mac, and would be happy to help write up instructions for Mac. Maybe we can work through this process together at our next meeting and you can help me troubleshoot? I know that @hoytpr has volunteered to test the Windows instructions as well.

Practically - what's the best way for us to add to these instructions? Should we hold off on merging and have folks add their modifications / suggestions as commits directly to this PR?

@hoytpr
Copy link
Contributor

hoytpr commented Oct 4, 2019

Just FYI, after some testing today there may need to be a baseline setting, i.e. uninstall any other Ruby versions, before installing anything. Testing Gitbash and WSL (& more).

@gcapes
Copy link
Contributor

gcapes commented Oct 4, 2019

I have a new installation of Linux Mint 19.2 Cinnamon. I followed the instructions, but they didn't work. Details below:

WARNING:  You don't have /home/mbexegc2/.gem/ruby/2.5.0/bin in your PATH,
	  gem executables will not run

No problem, I added it to my path and continued:

$ PATH=/home/mbexegc2/.gem/ruby/2.5.0/bin/:$PATH
$ bundle update
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Following files may not be writable, so sudo is needed:
  /usr/local/bin
  /var/lib/gems/2.5.0
Fetching concurrent-ruby 1.1.5


Your user account isn't allowed to install to the system RubyGems.
  You can cancel this installation and run:

      bundle install --path vendor/bundle

  to install the gems into ./vendor/bundle/, or you can enter your password
  and install the bundled gems to RubyGems using sudo.

  Password:               


Your user account isn't allowed to install to the system RubyGems.
  You can cancel this installation and run:

      bundle install --path vendor/bundle

  to install the gems into ./vendor/bundle/, or you can enter your password
  and install the bundled gems to RubyGems using sudo.

  Password:           

...

Fetching github-pages 200
Installing github-pages 200
Bundle updated!
Post-install message from dnsruby:
Installing dnsruby...
  For issues and source code: https://github.com/alexdalitz/dnsruby
  For general discussion (please tell us how you use dnsruby): https://groups.google.com/forum/#!forum/dnsruby
Post-install message from sass:

Ruby Sass has reached end-of-life and should no longer be used.

* If you use Sass as a command-line tool, we recommend using Dart Sass, the new
  primary implementation: https://sass-lang.com/install

* If you use Sass as a plug-in for a Ruby web framework, we recommend using the
  sassc gem: https://github.com/sass/sassc-ruby#readme

* For more details, please refer to the Sass blog:
  https://sass-lang.com/blog/posts/7828841


Thank you for installing html-pipeline!
You must bundle Filter gem dependencies.
See html-pipeline README.md for more details.
https://github.com/jch/html-pipeline#dependencies

$ make serve 
jekyll serve
Configuration file: /home/mbexegc2/Dropbox (The University of Manchester)/training/course-material/shell-novice/_config.yml
            Source: /home/mbexegc2/Dropbox (The University of Manchester)/training/course-material/shell-novice
       Destination: /home/mbexegc2/Dropbox (The University of Manchester)/training/course-material/shell-novice/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
   GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
  Liquid Exception: "<USERNAME>/<PROJECT>" is invalid as a repository identifier. Use the user/repo (String) format, or the repository ID (Integer), or a hash containing :repo and :user keys. in /_layouts/base.html
jekyll 3.8.5 | Error:  "<USERNAME>/<PROJECT>" is invalid as a repository identifier. Use the user/repo (String) format, or the repository ID (Integer), or a hash containing :repo and :user keys.
Makefile:26: recipe for target 'serve' failed
make: *** [serve] Error 1

Troubleshooting:

Troubleshooting:
$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]

$ gem --version
2.7.6

setup.md Outdated Show resolved Hide resolved
@hoytpr
Copy link
Contributor

hoytpr commented Oct 10, 2019

The WINDOWS instructions have not worked for me. Not wanting to write and just say "I'm stuck", here's a summary of issues with a link to a Google Doc that Windows users should consider prior to attempting an install of Ruby, or bundle/Jekyll. NOTE: I have not tried a third-party installer (but yes there are some items installed now that look like third-party Ruby-items like nokogirl)

I put much of this in a Google document, but it is basically in markdown format if we want to move it here. Notably, I've managed to break my working gitbash rendering in this process on multiple computers. But was able to restore one Gitbash using a process that is not well documented except for what is shown below. As a non-expert, it looks like a new version of Ruby is at least partially responsible. Here's the link to the Google doc:

https://docs.google.com/document/d/1xtCFALO9ujqBKOGs9sDRtpVBVivTC1OEFzJeTh5mmj8/edit?usp=sharing

I also have lots of results from using the WSL and installing a Windows Ubuntu 18.04 LTS "app". This is the current iteration of the WSL unless I'm misunderstanding. I tried to get this working and seemed to get very close, but in the end was not able to get this Ubuntu app to render the websites, despite having things setup in a way that appeared correct (see below).

I've been working on this for at least a week, and took copious notes. If anyone has a question about my efforts just ask.

As of Wednesday Oct 9, my Gitbash rendering failed with:
(Have now restored rendering in Gitbash. Using bundle install as shown below))

$ bundle exec jekyll serve --baseurl ''
Could not find minitest-5.12.2 in any of the sources
Run `bundle install` to install missing gems.

Running bundle install gives a long output, and fixes Gitbash with an error:

$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Using concurrent-ruby 1.1.5
Using i18n 0.9.5
Fetching minitest 5.12.2
Installing minitest 5.12.2
Fetching thread_safe 0.3.6
Installing thread_safe 0.3.6
Fetching tzinfo 1.2.5
Installing tzinfo 1.2.5
Fetching activesupport 4.2.11.1
Installing activesupport 4.2.11.1
Fetching public_suffix 3.1.1
Installing public_suffix 3.1.1
Using addressable 2.7.0
Using bundler 2.0.2
Fetching coffee-script-source 1.11.1
Installing coffee-script-source 1.11.1
Fetching execjs 2.7.0
Installing execjs 2.7.0
Fetching coffee-script 2.4.1
Installing coffee-script 2.4.1
Using colorator 1.1.0
Fetching ruby-enum 0.7.2
Installing ruby-enum 0.7.2
Fetching commonmarker 0.17.13
Installing commonmarker 0.17.13 with native extensions
Fetching dnsruby 1.61.3
Installing dnsruby 1.61.3
Using eventmachine 1.2.7 (x64-mingw32)
Using http_parser.rb 0.6.0
Using em-websocket 0.5.1
Using ffi 1.11.1 (x64-mingw32)
Fetching ethon 0.12.0
Installing ethon 0.12.0
Using multipart-post 2.1.1
Fetching faraday 0.17.0
Installing faraday 0.17.0
Using forwardable-extended 2.6.0
Fetching gemoji 3.0.1
Installing gemoji 3.0.1
Using sawyer 0.8.2
Using octokit 4.14.0
Fetching typhoeus 1.3.1
Installing typhoeus 1.3.1
Fetching github-pages-health-check 1.16.1
Installing github-pages-health-check 1.16.1
Using rb-fsevent 0.10.3
Using rb-inotify 0.10.0
Using sass-listen 4.0.0
Using sass 3.7.4
Using jekyll-sass-converter 1.5.2
Using ruby_dep 1.5.0
Using listen 3.1.5
Using jekyll-watch 2.2.1
Using kramdown 1.17.0
Fetching liquid 4.0.0
Installing liquid 4.0.0
Using mercenary 0.3.6
Using pathutil 0.16.2
Fetching rouge 3.11.0
Installing rouge 3.11.0
Using safe_yaml 1.0.5
Fetching jekyll 3.8.5
Installing jekyll 3.8.5
Fetching jekyll-avatar 0.6.0
Installing jekyll-avatar 0.6.0
Fetching jekyll-coffeescript 1.1.1
Installing jekyll-coffeescript 1.1.1
Fetching jekyll-commonmark 1.3.1
Installing jekyll-commonmark 1.3.1
Fetching jekyll-commonmark-ghpages 0.1.6
Installing jekyll-commonmark-ghpages 0.1.6
Fetching jekyll-default-layout 0.1.4
Installing jekyll-default-layout 0.1.4
Fetching jekyll-feed 0.11.0
Installing jekyll-feed 0.11.0
Fetching jekyll-gist 1.5.0
Installing jekyll-gist 1.5.0
Using jekyll-github-metadata 2.12.1
Fetching mini_portile2 2.4.0
Installing mini_portile2 2.4.0
Fetching nokogiri 1.10.4 (x64-mingw32)
Installing nokogiri 1.10.4 (x64-mingw32)
Fetching html-pipeline 2.12.0
Installing html-pipeline 2.12.0
Fetching jekyll-mentions 1.4.1
Installing jekyll-mentions 1.4.1
Fetching jekyll-optional-front-matter 0.3.0
Installing jekyll-optional-front-matter 0.3.0
Fetching jekyll-paginate 1.1.0
Installing jekyll-paginate 1.1.0
Fetching jekyll-readme-index 0.2.0
Installing jekyll-readme-index 0.2.0
Fetching jekyll-redirect-from 0.14.0
Installing jekyll-redirect-from 0.14.0
Fetching jekyll-relative-links 0.6.0
Installing jekyll-relative-links 0.6.0
Fetching rubyzip 2.0.0
Installing rubyzip 2.0.0
Fetching jekyll-remote-theme 0.4.0
Installing jekyll-remote-theme 0.4.0
Fetching jekyll-seo-tag 2.5.0
Installing jekyll-seo-tag 2.5.0
Fetching jekyll-sitemap 1.2.0
Installing jekyll-sitemap 1.2.0
Fetching jekyll-swiss 0.4.0
Installing jekyll-swiss 0.4.0
Fetching jekyll-theme-architect 0.1.1
Installing jekyll-theme-architect 0.1.1
Fetching jekyll-theme-cayman 0.1.1
Installing jekyll-theme-cayman 0.1.1
Fetching jekyll-theme-dinky 0.1.1
Installing jekyll-theme-dinky 0.1.1
Fetching jekyll-theme-hacker 0.1.1
Installing jekyll-theme-hacker 0.1.1
Fetching jekyll-theme-leap-day 0.1.1
Installing jekyll-theme-leap-day 0.1.1
Fetching jekyll-theme-merlot 0.1.1
Installing jekyll-theme-merlot 0.1.1
Fetching jekyll-theme-midnight 0.1.1
Installing jekyll-theme-midnight 0.1.1
Fetching jekyll-theme-minimal 0.1.1
Installing jekyll-theme-minimal 0.1.1
Fetching jekyll-theme-modernist 0.1.1
Installing jekyll-theme-modernist 0.1.1
Using jekyll-theme-primer 0.5.3
Fetching jekyll-theme-slate 0.1.1
Installing jekyll-theme-slate 0.1.1
Fetching jekyll-theme-tactile 0.1.1
Installing jekyll-theme-tactile 0.1.1
Fetching jekyll-theme-time-machine 0.1.1
Installing jekyll-theme-time-machine 0.1.1
Fetching jekyll-titles-from-headings 0.5.1
Installing jekyll-titles-from-headings 0.5.1
Fetching jemoji 0.10.2
Installing jemoji 0.10.2
Fetching minima 2.5.0
Installing minima 2.5.0
Using unicode-display_width 1.6.0
Using terminal-table 1.8.0
Fetching github-pages 201
Installing github-pages 201
Bundle complete! 1 Gemfile dependency, 85 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from dnsruby:
Installing dnsruby...
  For issues and source code: https://github.com/alexdalitz/dnsruby
  For general discussion (please tell us how you use dnsruby): https://groups.google.com/forum/#!forum/dnsruby
Post-install message from nokogiri:
Nokogiri is built with the packaged libraries: libxml2-2.9.9, libxslt-1.1.33, zlib-1.2.11, libiconv-1.15.
Post-install message from html-pipeline:
-------------------------------------------------
Thank you for installing html-pipeline!
You must bundle Filter gem dependencies.
See html-pipeline README.md for more details.
https://github.com/jch/html-pipeline#dependencies
-------------------------------------------------

THEN when I run: bundle exec jekyll serve --baseurl ''
rendering seems to work, but with an error:
Note: The error message: “GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.” is “expected behavior” according to:
https://github.com/github/personal-website/issues/48

$ bundle exec jekyll serve --baseurl ''
Configuration file: C:/Users/Hoyt/git/Saved/bioinformatics-semester/_config.yml
   GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
            Source: C:/Users/Hoyt/git/Saved/bioinformatics-semester
       Destination: C:/Users/Hoyt/git/Saved/bioinformatics-semester/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
                    done in 35.789 seconds.
  Please add the following to your Gemfile to avoid polling for changes:
    gem 'wdm', '>= 0.1.0' if Gem.win_platform?
 Auto-regeneration: enabled for 'C:/Users/Hoyt/git/Saved/bioinformatics-semester'
    Server address: http://127.0.0.1:4000/
  Server running... press ctrl-c to stop.

Adding gem 'wdm', '>= 0.1.0' if Gem.win_platform? to the Gemfile causes
the rendering to fail again:

$ bundle exec jekyll serve --baseurl ''

[!] There was an error parsing `Gemfile`: unexpected fraction part after numeric literal - wdm', '>= 0.1.0' if Gem.win_platform?
          ^~~. Bundler cannot continue.

 #  from C:/Users/Hoyt/git/Saved/bioinformatics-semester/Gemfile:4
 #  -------------------------------------------
 #  # gem 'wdm', '>= 0.1.0'
 >  wdm', '>= 0.1.0' if Gem.win_platform? #  source 'https://rubygems.org'
 #  -------------------------------------------

Gitbash rendering ALSO fails using only "jekyll serve":

$ jekyll serve
Traceback (most recent call last):
        12: from C:/Ruby25-x64/bin/jekyll:23:in `<main>'
        11: from C:/Ruby25-x64/bin/jekyll:23:in `load'
        10: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/jekyll-4.0.0/exe/jekyll:11:in `<top (required)>'
         9: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
         8: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler.rb:107:in `setup'
         7: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:20:in `setup'
         6: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/runtime.rb:108:in `block in definition_method'
         5: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/definition.rb:226:in `requested_specs'
         4: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/definition.rb:237:in `specs_for'
         3: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/definition.rb:170:in `specs'
         2: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/spec_set.rb:81:in `materialize'
         1: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/spec_set.rb:81:in `map!'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/bundler-2.0.2/lib/bundler/spec_set.rb:87:in `block in materialize': Could not find minitest-5.12.2 in any of the sources (Bundler::GemNotFound)

The Ubuntu 18.04 install fails giving a similar error as above, but the error I cannot resolve is
"jekyll 3.8.5 | Error: Operation not permitted @ apply2files".

$ bundle exec jekyll serve --baseurl ''
Configuration file: /mnt/c/Users/Hoyt/git/Saved/bioinformatics-semester/_config.yml
   GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
            Source: /mnt/c/Users/Hoyt/git/Saved/bioinformatics-semester
       Destination: /mnt/c/Users/Hoyt/git/Saved/bioinformatics-semester/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
jekyll 3.8.5 | Error:  Operation not permitted @ apply2files - /mnt/c/Users/Hoyt/git/Saved/bioinformatics-semester/_site/bin/chunk-options.R

Trying "jekyll serve" also fails:

$ jekyll serve
Traceback (most recent call last):
        10: from /home/phoyt/gems/bin/jekyll:23:in `<main>'
         9: from /home/phoyt/gems/bin/jekyll:23:in `load'
         8: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/exe/jekyll:11:in `<top (required)>'
         7: from /var/lib/gems/2.5.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
         6: from /home/phoyt/gems/gems/bundler-2.0.1/lib/bundler.rb:107:in `setup'
         5: from /home/phoyt/gems/gems/bundler-2.0.1/lib/bundler/runtime.rb:26:in `setup'
         4: from /home/phoyt/gems/gems/bundler-2.0.1/lib/bundler/runtime.rb:26:in `map'
         3: from /home/phoyt/gems/gems/bundler-2.0.1/lib/bundler/spec_set.rb:148:in `each'
         2: from /home/phoyt/gems/gems/bundler-2.0.1/lib/bundler/spec_set.rb:148:in `each'
         1: from /home/phoyt/gems/gems/bundler-2.0.1/lib/bundler/runtime.rb:31:in `block in setup'
/home/phoyt/gems/gems/bundler-2.0.1/lib/bundler/runtime.rb:319:in `check_for_activated_spec!': You have already activated i18n 1.7.0, but your Gemfile requires i18n 0.9.5. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)

@fmichonneau
Copy link
Contributor Author

thanks for the feedback @gcapes and @hoytpr, I'll follow up with you in the next few days.

@hoytpr
Copy link
Contributor

hoytpr commented Oct 11, 2019

I have updated the Google doc significantly. Thanks @fmichonneau @ErinBecker @gcapes
Hope it has useful information.

setup.md Show resolved Hide resolved
@ErinBecker
Copy link
Contributor

Thanks for the idea of starting a GDoc @hoytpr. I've started another GDoc for Mac install instructions that I'm working on here: https://docs.google.com/document/d/1Nvs-wx2yzi7O5wLyP8o35o5OZSHGN9VsubWvs0fO0mQ/edit (I've made it anyone with link can edit in case others want to contribute). I'll add another update here once I've gotten things working on my system.

@fmichonneau
Copy link
Contributor Author

fmichonneau commented Nov 1, 2019

Hi @gcapes thanks for reporting your experience. The good news is that your bundler installation is successful. You happened to have uncovered an issue in the shell lesson which has been fixed in the newer version of the lesson template. I'm preparing a pull request to update to the latest version. Once it's merged you should be able to preview the lesson locally.

EDIT: see swcarpentry/shell-novice#1051 for the pull request on the shell lesson.

@fmichonneau
Copy link
Contributor Author

@hoytpr thanks for testing the installation instructions, and sorry for the frustrating process. Getting this to work properly is definitely a pain.

From the information you provide, it looks like you managed to get to have bundler installed correctly on your Windows. Seeing the error message about having missing credentials to use the GitHub API is usually another issue and if the rendering goes this far, it means that the installation of bundler is working. Which lesson were you testing it on? I'd be happy to help you troubleshoot the error message about wdm but it's another issue which shouldn't impact your ability to preview the lesson.

The error you get on your Ubuntu installation suggests that you're missing

exclude:
  - bin/

in the _config.yml for this particular project. Other than that, it also looks like your installation is successful despite the error message.

setup.md Show resolved Hide resolved
setup.md Outdated

#### Option 1 - Using the Windows Subsystem for Linux (WSL)

If your version of Windows supports it, using the WSL will make the installation of the tools needed easier. Instructions to install Linux distributions from Windows 10/Windows Server are available from the [Microsoft website](https://docs.microsoft.com/en-us/windows/wsl/about).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to suggest to move all links to the bottom.

[Microsoft website][microsoft-website]

...

[microsoft-website]: https://docs.microsoft.com/en-us/windows/wsl/about

setup.md Outdated Show resolved Hide resolved
setup.md Show resolved Hide resolved
setup.md Show resolved Hide resolved
setup.md Show resolved Hide resolved
@hoytpr
Copy link
Contributor

hoytpr commented Nov 1, 2019

Which lesson were you testing it on?

Hi @fmichonneau I was testing mostly on my own repo, derived from the DC-semester course. I hope to have a chance to go through the testing again very soon, on a different Win10 system, and will test on the organization-genomics repo using my new knowledge.

Will give more concise feedback.

@hoytpr
Copy link
Contributor

hoytpr commented Nov 1, 2019

Which lesson were you testing it on?

FYI @fmichonneau on my Win10 machine with bundler installed, my local repo of Organization-genomics was a few commits behind. After fetching the updates (everything clean and up to date):

$ bundle exec jekyll serve --baseurl ''
Could not find public_suffix-3.1.0 in any of the sources
Run `bundle install` to install missing gems.

$ bundle install worked and then
$ bundle exec jekyll serve --baseurl '' worked to render the site

(bundler install testing still to come)

@fmichonneau
Copy link
Contributor Author

This issue has some relevant install info for macOS

Copy link
Contributor

@brownsarahm brownsarahm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested the linux instructions after removing all components and it worked.

I do think that for a novice the instructions around what happens for make serve is vague, so details would improve accessiblity

setup.md Outdated Show resolved Hide resolved
setup.md Show resolved Hide resolved
@hoytpr
Copy link
Contributor

hoytpr commented Apr 20, 2020

@fmichonneau @ErinBecker @gcapes @brownsarahm
This is certainly late, but I did finally have a chance to install Ruby, bundler, and Jekyll on a Windows 10 machine that had not been previously used for any of those software. I've posted these instructions on my Github repo HERE.

The bottom line: Do EVERYTHING (all of the installs) using the Windows cmd.exe terminal window run as administrator.

When completed using jekyll serve will render the site.

ONE PROBLEM: A folder named .jekyll-cache is created, and this must be placed in the .gitignore and I also excluded it in the config_yml file.

Hoping this is helpful.

@maxim-belkin
Copy link
Contributor

ONE PROBLEM: A folder named .jekyll-cache is created, and this must be placed in the .gitignore and I also excluded it in the config_yml file.

I think you did the right thing. .jekyll-cache should be in .gitignore so that it is not committed to GitHub, and it makes sense to add it to the exclusion list so that it is not processed by Jekyll when it generates the website.

@eldobbins
Copy link

@ErinBecker

I got lesson previewing to work on my Mac (Mohave 10.14.6) using the Anaconda (conda-forge) versions of ruby and Jekyll. I tried to attach a YAML file of the environment, but GitHub doesn't support that file type. Instead, it is copied below.

name: rubyenv
channels:
  - conda-forge
  - defaults
dependencies:
  - ca-certificates=2020.1.1=0
  - cctools=927.0.2=h5ba7a2e_4
  - certifi=2020.4.5.1=py37_0
  - clang=10.0.0=default_hf57f61e_0
  - clang_osx-64=10.0.0=h05bbb7f_1
  - clangxx=10.0.0=default_hf57f61e_0
  - clangxx_osx-64=10.0.0=h05bbb7f_1
  - compiler-rt=10.0.0=h47ead80_0
  - compiler-rt_osx-64=10.0.0=hbcc88fd_0
  - gdbm=1.18=h55c7030_1
  - gettext=0.19.8.1=h15daf44_3
  - gmp=6.1.2=hb37e062_1
  - ld64=450.3=h3c32e8a_4
  - libcxx=10.0.0=1
  - libedit=3.1.20181209=hb402a30_0
  - libffi=3.2.1=h0a44026_6
  - libiconv=1.16=h1de35cc_0
  - libllvm10=10.0.0=h21ff451_0
  - libssh2=1.9.0=ha12b0ac_1
  - llvm-openmp=10.0.0=h28b9765_0
  - llvm-tools=10.0.0=h21ff451_0
  - ncurses=6.2=h0a44026_1
  - openssl=1.1.1g=h1de35cc_0
  - pip=20.0.2=py37_3
  - python=3.7.7=hc70fcce_0_cpython
  - python_abi=3.7=1_cp37m
  - pyyaml=5.3.1=py37h1de35cc_0
  - rb-addressable=2.7.0=hc42de5b_0
  - rb-colorator=1.1.0=hc42de5b_0
  - rb-concurrent-ruby=1.1.5=hc42de5b_0
  - rb-em-websocket=0.5.1=hc42de5b_1
  - rb-eventmachine=1.2.7=h3437904_2
  - rb-ffi=1.11.1=he5a8640_1
  - rb-forwardable-extended=2.6.0=hc42de5b_0
  - rb-http_parser.rb=0.6.0=h1d5a451_1
  - rb-i18n=1.7.0=hc42de5b_0
  - rb-jekyll=4.0.0=hc42de5b_0
  - rb-jekyll-sass-converter=2.0.1=hc42de5b_0
  - rb-jekyll-watch=2.2.1=hc42de5b_1
  - rb-kramdown=2.1.0=hc42de5b_1
  - rb-kramdown-parser-gfm=1.1.0=hc42de5b_0
  - rb-liquid=4.0.3=hc42de5b_1
  - rb-listen=3.2.1=hc42de5b_0
  - rb-mercenary=0.3.6=hc42de5b_0
  - rb-pathutil=0.16.2=hc42de5b_0
  - rb-public_suffix=4.0.1=hc42de5b_0
  - rb-rb-fsevent=0.10.3=hc42de5b_1
  - rb-rb-inotify=0.10.0=hc42de5b_1
  - rb-rouge=3.16.0=hc42de5b_0
  - rb-ruby_dep=1.5.0=hc42de5b_1
  - rb-safe_yaml=1.0.5=hc42de5b_0
  - rb-sassc=2.3.0=h5c00d4b_0
  - rb-terminal-table=1.8.0=hc42de5b_0
  - rb-unicode-display_width=1.6.0=hc42de5b_0
  - readline=8.0=h1de35cc_0
  - ruby=2.6.5=h7f52a13_0
  - setuptools=46.4.0=py37_0
  - sqlite=3.31.1=h5c1f38d_1
  - tapi=1000.10.8=ha1b3eb9_0
  - tk=8.6.8=ha441bb4_0
  - wheel=0.34.2=py37_0
  - xz=5.2.5=h1de35cc_0
  - yaml=0.1.7=hc338f04_2
  - zlib=1.2.11=h1de35cc_3
prefix: /anaconda3/envs/rubyenv

clang* was required for the commonmarkers and eventmachine gems to compile. I've also got Xcode 10.3 (and the command line tools) installed, but I sorta lost track of if those were needed or not with the conda install.

@fmichonneau
Copy link
Contributor Author

Thank you all for testing and reviewing these new instructions. I'm going to merge this for now but please continue to provide suggestions to improve these instructions as installing these tools remains a barrier of entry for people to contribute to our lessons.

@fmichonneau fmichonneau changed the title draft bundler installation and more comprehensive setup instructions add bundler installation and comprehensive setup instructions Jun 26, 2020
@fmichonneau fmichonneau merged commit 57f2b60 into carpentries:gh-pages Jun 26, 2020
@fmichonneau fmichonneau deleted the setup-instructions branch June 26, 2020 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants