У меня проблема с установкой Jekyll / Gulp, и я получаю сообщение «должен использовать Bundler 2 или выше», даже если у меня установлен Bundler 2.0.2. Есть и другие вопросы с похожей проблемой, но эти проекты были основаны на Rails и Heroku. Пока что ни одно из найденных мной решений не помогло мне.
Терминал показывает, что у меня установлена та же версия Bundler, что и в Gemfile.lock.
fs-217-156:jekyll-gulp mrjandre$ bundler -v
Bundler version 2.0.2
И я использую Ruby 2.6.5:
fs-217-156:jekyll-gulp mrjandre$ ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin17]
Из Gemfile.lock:
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
jekyll (~> 3.8.5)
jekyll-feed (~> 0.6)
tzinfo-data
BUNDLED WITH
2.0.2
За последние пару дней я пытался удалить и переустановить Bundler и Jekyll не менее десятка раз.
gem uninstall bundler
gem install bundler -v '2.0.2'
gem update --system
bundle update --bundler
Понятия не имею, что такое binstubs
, но я тоже попробовал:
bundle binstubs bundler
Результаты выполнения команды 'gulp':
fs-217-156:jekyll-gulp mrjandre$ gulp
[09:48:24] Using gulpfile ~/Desktop/Repos/jekyll-gulp/gulpfile.js
[09:48:24] Starting 'default'...
[09:48:24] Starting 'styles'...
[09:48:25] Finished 'styles' after 928 ms
[09:48:25] Starting 'scripts'...
[09:48:27] Finished 'scripts' after 1.35 s
[09:48:27] Starting 'images'...
[09:48:27] Finished 'images' after 3.84 ms
[09:48:27] Starting 'jekyll-build'...
Traceback (most recent call last):
13: from /usr/local/bin/jekyll:22:in `<main>'
12: from /usr/local/bin/jekyll:22:in `load'
11: from /usr/local/lib/ruby/gems/2.6.0/gems/jekyll-4.0.0/exe/jekyll:11:in `<top (required)>'
10: from /usr/local/lib/ruby/gems/2.6.0/gems/jekyll-4.0.0/lib/jekyll/plugin_manager.rb:52:in `require_from_bundler'
9: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler.rb:101:in `setup'
8: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler.rb:135:in `definition'
7: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/definition.rb:34:in `build'
6: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/dsl.rb:13:in `evaluate'
5: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/dsl.rb:234:in `to_definition'
4: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/dsl.rb:234:in `new'
3: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/definition.rb:83:in `initialize'
2: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/definition.rb:83:in `new'
1: from /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/lockfile_parser.rb:95:in `initialize'
/usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/bundler/lockfile_parser.rb:108:in `warn_for_outdated_bundler_version': You must use Bundler 2 or greater with this lockfile. (Bundler::LockfileError)
[09:48:27] 'jekyll-build' errored after 612 ms
[09:48:27] Error: exited with error code: 1
at ChildProcess.onexit (/Users/mrjandre/Desktop/Repos/jekyll-gulp/node_modules/end-of-stream/index.js:39:36)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
[09:48:27] 'default' errored after 2.9 s
Этоjekyll-build
задача в gulpfile.js
, которая довольно стандартна:
gulp.task("jekyll-build", function () {
return cp.spawn( jekyll , ["build"], {stdio: "inherit"})
});
Я также удалил node_modules
и переустановил эти зависимости несколько раз, запустил npm audit fix
и также обновил npm.
Я часто переключаюсь между Mac OSX и Windows 10, и эта установка надежна в обеих системах в течение многих лет. Буду очень признателен за любые указания и предложения, и я был бы рад предоставить дополнительную информацию, если я что-то пропустил.