Я могу обслуживать свой сайт jekyll локально, но не могу заставить его работать на netlify

Я могу запустить свой сайт jekyll локально с помощью команды jekyll serve, и он отлично работает, но когда я пытаюсь развернуть его для netlify, я получаю следующую ошибку:

Conversion error: Jekyll::Converters::Scss encountered an error while
converting 'assets/main.scss':
File to import not found or unreadable: bootstrap/scss/bootstrap. Load
paths: /opt/build/repo/_sass /opt/build/repo/node_modules
/opt/build/repo/_sass on line 6

Я попытался прокомментировать импорт начальной загрузки из моего main.scss, который находится в папке с моими ресурсами, но он не изолирован от простой начальной загрузки, чего-либо в папке node_modules я не могу импортировать.

Я попытался изменить код импорта из:

@import "bootstrap/scss/bootstrap";

К следующим вариантам:

@import "/node_modules/bootstrap/scss/bootstrap";
@import "../node_modules/bootstrap/scss/bootstrap";

Но это не сработало

В моем _config.yml я настроил следующее:

sass:
    load_paths:
      - _sass
      - node_modules

Спасибо, что посмотрели, и ценим помощь!


person BACode    schedule 28.12.2018    source источник
comment
С вашей конфигурацией @import "bootstrap/scss/bootstrap"; является правильным включением. У вас версия node_modules? Если нет, вы сделали версию файла package.json?   -  person David Jacquel    schedule 28.12.2018
comment
@DavidJacquel Я считаю, что это правильное включение, потому что он работает локально с jekyll serve, я не понимаю, что вы имеете в виду под версией node_modules. У меня есть package.json, но я не упоминаю никаких зависимостей. Стоит ли мне так поступать?   -  person BACode    schedule 28.12.2018


Ответы (1)


Наблюдая за вашей конфигурацией, я могу сказать, что @import "bootstrap/scss/bootstrap"; - правильный путь для включения.

Одним из объяснений вашей проблемы может быть то, что начальной загрузки нет в вашем репозитории github, и что вы не ссылаетесь на загрузку в файлах с версиями package.json или yarn.lock .

Обязательно :

  1. установить и ссылаться на bootstrap как на зависимость.

Пряжей

yarn add bootstrap

или с npm

npm install bootstrap -P
  1. версия вашего package.json и, если вы используете yarn, вашего файла yarn.lock.

Netlify автоматически загрузит ваши зависимости перед созданием вашего сайта Jekyll.

например: я использую Yarn, которая создает файл yarl.lock, для которого я управляю версиями, точно так же, как мой package.json.

В моем выводе развертывания Netlify я вижу:

6:01:58 PM: Installing NPM modules using Yarn version 1.3.2
6:01:59 PM: yarn install v1.3.2
6:01:59 PM: [1/4] Resolving packages...
6:01:59 PM: [2/4] Fetching packages...
6:02:02 PM: [3/4] Linking dependencies...
6:02:03 PM: [4/4] Building fresh packages...
6:02:04 PM: Done in 4.39s.
6:02:04 PM: NPM modules installed using Yarn
person David Jacquel    schedule 28.12.2018
comment
У меня уже был загрузчик и все остальное в моем репозитории в модулях узлов, но из того, что вы сказали, я пошел проверить свой package.json, и мне по какой-то причине не хватало всех зависимостей. Я запустил npm init, и он нашел, какие пакеты у меня есть, и теперь они работают! - person BACode; 28.12.2018