Ruby: Trikčių šalinimas
Susidūrėte su problema savo Ruby paslaugoje? Sprendimas tikriausiai yra čia!
👋 Sveiki atvykę į Stackhero dokumentaciją!
Stackhero siūlo paruoštą naudoti Ruby cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:
- Įdiekite savo programą per kelias sekundes su paprastu
git push.- Naudokite savo domeno vardą ir pasinaudokite automatiniu HTTPS sertifikatų konfigūravimu, kad padidintumėte saugumą.
- Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria bei prognozuojama kainodara.
- Gaukite optimalią veikimo ir tvirtą saugumą dėka privačios ir dedikuotos VM.
Taupykite laiką ir supaprastinkite savo gyvenimą: išbandyti Stackhero Ruby cloud hosting sprendimą užtrunka tik 5 minutes!
Stackhero Ruby debesų prieglobos paslauga yra sukurta būti patogi vartotojui, tačiau kartais gali kilti problemų. Žemiau rasite patarimus, kaip išspręsti dažniausiai pasitaikančias klaidas.
Klaidos "failed to push some refs to '[...]'" sprendimas
Ši klaida gali pasirodyti diegimo metu:
error: failed to push some refs to '[...]'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Šis pranešimas rodo, kad jūsų instancijos Git saugykloje yra turinys, kurio nėra lokaliai. Norėdami tęsti, galite naudoti šią komandą sinchronizacijai priversti:
git push -f stackhero main
Klaidos "src refspec main does not match any" sprendimas
Vykdant git push stackhero main, gali atsirasti ši klaida:
error: src refspec main does not match any
error: failed to push some refs to 'ssh://<XXXXXX>.stackhero-network.com:222/project.git'
Ši klaida rodo, kad jūsų saugykloje nėra main šakos. Vietoj to, gali reikėti stumti į master šaką:
git push stackhero master
Klaidos "Everything up-to-date" sprendimas
Pranešimas Everything up-to-date iš Git rodo, kad tarp jūsų lokalaus kodo ir Stackhero saugyklos nebuvo aptikta jokių pakeitimų.
Jei atlikote pakeitimus, įsitikinkite, kad jie yra įrašyti:
git add -A .
git commit -m "Jūsų commit žinutė"
git push stackhero main
Jei norite inicijuoti diegimą be jokių realių kodo pakeitimų, galite sukurti tuščią commit:
git commit --allow-empty -m "Force update"
git push stackhero main
Patobulinta Makefile versija yra prieinama šiam scenarijui automatiškai spręsti. Su ja galite diegti tiesiog paleisdami
make deploy, net ir be kodo pakeitimų.
Klaidos "make: *** No rule to make target 'run'" sprendimas
Ši klaida reiškia, kad arba nėra Makefile projekto šakniniame kataloge, arba Makefile neturi run tikslo.
Norėdami tai išspręsti, galite pridėti Makefile, kuriame yra šis pavyzdys:
run:
rake assets:precompile
rake db:migrate RAILS_ENV=production
RAILS_ENV=production bundle exec puma -C config/puma.rb
Jums gali būti naudinga patobulinta Makefile versija, ypač norint supaprastinti kūrimo ir diegimo darbo eigas.
Klaidos "make: *** missing separator" sprendimas
Klaida *** missing separator Makefile paprastai atsiranda, kai tabuliacijos simbolis neteisingai pakeičiamas tarpais prieš komandą. Makefile failuose komandos visada turi prasidėti tabuliacijos simboliu.
Norėdami tai išspręsti, įsitikinkite, kad kiekviena komandos eilutė prasideda tinkamu tabuliacijos simboliu, o ne tarpais:
run:
<tab>command
Pakeiskite <tab> tikru tabuliacijos simboliu, kad išspręstumėte problemą.