Задать вопрос
@RomanDevFront

Проблема с запуском хоста на github pages. Как исправить проблему с cannot spawn sh?

Когда делал тестовое пришла информация, что нужно закинуть сайт на хост github pages. Уже имелся репозиторий с почти готовым проектом. При загрузке установил библиотеку npm install gh-pages --save-dev , добавил в package.json в корне файла
"homepage": "https://Roman214-go.github.io/Coincap"
и в scripts
"predeploy": "npm run build",
"deploy": "gh-pages -b main -d build",
Запустил через npm run deploy и в итоге пишет:
error: cannot spawn sh: No such file or directory
fatal: unable to fork
Долго мучался и искал решение проблемы, максимум что выходило - это запускался README.md на хосте.
Надеюсь понятно описал проблему и найду тут помощь.
  • Вопрос задан
  • 1447 просмотров
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Viarll
Из-за чего может возникать ошибка

Скорее всего возникает при git clone. Если npm run deploy выполняется локально, то может проблема связана с доступом. Надо проверить, что папка, в которой выполняется команда, является репой и подключена корректно к GitHub - есть скрытая папка .git и после выполнения git remote -v есть remote с пометкой origin.

Другой вариант использовать параметр -repo:
gh-pages -d build -r <repo_url>

Также remote origin можно сбросить на всякий случай выполнив эти команды в папке репы:
$ git remote remove origin
$ git remote add origin https://github.com/Roman214-go/Coincap.git
$ git push -u origin master


А если кратко, то если все делать по этой инструкция от create-react-app - все должно заработать.

Что сейчас надо поправить и проверить на GitHub согласно инструкции

  • Надо выбрать одну из веток (master или main) для изменений. Или смержить их и избавиться от одной(лучше от main). При мерже надо быть внимательным - в main ветке в packages.json продублированы команды predeploy и deploy
  • gh-pages надо устанавливать через npm install --save gh-pages, т.е. не как devDependencies. Можно перенести из devDependencies в dependencies в packages.json и выполнить npm install
  • в скриптах изменить "deploy": "gh-pages -d build", - убрать " -b main", таким образом будет результат выполнения скрипта будет в ветке gh-pages
  • Выполнить npm run deploy и проверить, что ветка появилась на GitHub
  • В настройках проекта установить GitHub Pages на ветку gh-pages и в качестве папка в которую build сложился



Допы:
Как найти настройки проекта GitHub Pages для настр...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽