carpentries / lesson-example

Example lesson using The Carpentries lesson template.
https://carpentries.github.io/lesson-example/
Other
64 stars 173 forks source link

require: cannot load such file -- kramdown (LoadError) #123

Open rgaiacs opened 7 years ago

rgaiacs commented 7 years ago

Reported to me by Sue McClatchy.

$ make lesson-check
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- kramdown (LoadError)
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from bin/markdown_ast.rb:5:in `<main>'
Traceback (most recent call last):
  File "bin/lesson_check.py", line 565, in <module>
    main()
  File "bin/lesson_check.py", line 111, in main
    docs = read_all_markdown(args.source_dir, args.parser)
  File "bin/lesson_check.py", line 214, in read_all_markdown
    data = read_markdown(parser, filename)
  File "/Users/smc/Projects/Funding/BD2K_OER/ngs-lesson/bin/util.py", line 120, in read_markdown
    doc = json.loads(stdout_data)
  File "//anaconda/lib/python3.5/json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
  File "//anaconda/lib/python3.5/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "//anaconda/lib/python3.5/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
make: *** [lesson-check] Error 1
jeiros commented 6 years ago

I'm getting the same error, from a new conda environment with Python 3.6 and having installed the contents of requirements.txt (on the python-novice-inflammation course).

make lesson-check
/usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- kramdown (LoadError)
    from /usr/local/Cellar/ruby/2.4.1_1/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from bin/markdown_ast.rb:5:in `<main>'
Traceback (most recent call last):
  File "bin/lesson_check.py", line 565, in <module>
    main()
  File "bin/lesson_check.py", line 111, in main
    docs = read_all_markdown(args.source_dir, args.parser)
  File "bin/lesson_check.py", line 214, in read_all_markdown
    data = read_markdown(parser, filename)
  File "/Users/Juan/Projects/python-novice-inflammation/bin/util.py", line 120, in read_markdown
    doc = json.loads(stdout_data)
  File "/Users/Juan/anaconda/envs/swcarpentry/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/Users/Juan/anaconda/envs/swcarpentry/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/Users/Juan/anaconda/envs/swcarpentry/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
make: *** [lesson-check] Error 1
rgaiacs commented 6 years ago

@jeiros Thanks for the issue. I try to reproduce but I couldn't.

$ git clone git@github.com:swcarpentry/python-novice-inflammation.git
Cloning into 'python-novice-inflammation'...
remote: Counting objects: 6332, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6332 (delta 0), reused 2 (delta 0), pack-reused 6327
Receiving objects: 100% (6332/6332), 6.84 MiB | 4.83 MiB/s, done.
Resolving deltas: 100% (3859/3859), done.
$ cd python-novice-inflammation 
$ make lesson-check
Unexpected image files: 01-numpy_exercise_0.png, python-zero-index.png, python-zero-index.svg
./_config.yml: configuration does not contain contact
./_episodes/01-numpy.md: episode does not include "links.md"
./_episodes/02-loop.md: episode does not include "links.md"
./_episodes/02-loop.md:139: Unknown or missing code block type None
./_episodes/03-lists.md: episode does not include "links.md"
./_episodes/04-files.md: episode does not include "links.md"
./_episodes/05-cond.md: episode does not include "links.md"
./_episodes/05-cond.md:138: Unknown or missing code block type None
./_episodes/05-cond.md:147: Unknown or missing code block type None
./_episodes/05-cond.md:154: Unknown or missing code block type None
./_episodes/06-func.md: episode does not include "links.md"
./_episodes/06-func.md:72: Unknown or missing code block type None
./_episodes/07-errors.md: episode does not include "links.md"
./_episodes/08-defensive.md: episode does not include "links.md"
./_episodes/09-debugging.md: episode does not include "links.md"
./_episodes/10-cmdline.md: episode does not include "links.md"

Will be very helpful if you could run the following commands and provide me with the output.

$ make --version
$ python --version
$ ruby --version
$ jekyll --version
$ kramdown --version

Thanks in advance.

My enviromment

$ make --version
GNU Make 4.2.1
Built for x86_64-unknown-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ python --version
Python 3.5.3 :: Continuum Analytics, Inc.
$ ruby --version
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]
$ jekyll --version
jekyll 3.5.2
$ kramdown --version
1.15.0
dheles commented 5 years ago

I encountered the same problem on MacOS after installing jekyll as directed: gem install jekyll --user-install. After I reinstalled like: gem install jekyll, the problem went away and I was able to successfully run make lesson-check as well as make serve.