@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 на хосте.
Надеюсь понятно описал проблему и найду тут помощь.
  • Вопрос задан
  • 1230 просмотров
Пригласить эксперта
Ответы на вопрос 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 для настр...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы