Установлены Bundler 2.0.2 и Jekyll / Gulp, по-прежнему появляется сообщение «необходимо использовать Bundler 2 или выше» - PullRequest
0 голосов
/ 09 октября 2019

У меня проблема с установкой 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, и эта установка надежна в обеих системах в течение многих лет. Буду очень признателен за любые указания и предложения, и я был бы рад предоставить дополнительную информацию, если я что-то пропустил.

...