Gemfile `Bundler не может продолжить` неожиданно ':' ошибка [Ruby] - PullRequest
1 голос
/ 26 января 2020

Я новичок в Ruby. Я получаю сообщение об ошибке при запуске команды bundle update. Вот как выглядит мой Gemfile:

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "jekyll", "~> 3.8"

gem "github-pages", group: :jekyll_plugins

plugins:
  - jekyll-sitemap
  - jekyll-paginate
  - jekyll-redirect-from
  - github-pages

Вот ошибка, которую я получаю, когда запускаю bundle update:


[!] There was an error parsing `Gemfile`: syntax error, unexpected ':', expecting end-of-input - plugins:
       ^
. Bundler cannot continue.

 #  from /home/<user>/Documents/projects/<user>.github.io/Gemfile:10
 #  -------------------------------------------
 #  
 >  plugins:
 #    - jekyll-sitemap

С нетерпением ожидаю любых указателей о том, как решить эту проблему. Спасибо!

1 Ответ

1 голос
/ 26 января 2020

Ваш Gemfile - это Ruby файл для Bundler, в котором указываются драгоценные камни, необходимые для вашего проекта. Раздел plugins:, который вы написали в своем Gemfile, - это YAML, предназначенный для go в _config.yml, а не Ruby, следовательно, ваша синтаксическая ошибка.

Вам нужно будет переписать этот раздел вашего Gemfile в Ruby, в группе gem jekyll_plugins, поэтому Jekyll знает, как использовать эти драгоценные камни в качестве плагинов:

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "jekyll", "~> 3.8"

group :jekyll_plugins do
  gem "jekyll-sitemap"
  gem "jekyll-paginate"
  gem "jekyll-redirect-from"
  gem "github-pages"
end

Есть и другие способы сделать это, , перечисленные в документации Jekyll , но я бы порекомендовал это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...