Brak folderu script/generate

Zaczynam przygodę z Ruby on Rais. Zainstalowałam je, załączyłam mySQL, jednak w wygenerowanych folderach nie ma folderu script/generate. Czytałam, że w Ruby3 nie ma tego folderu. Zainstalowałam bundlera, ale wywala mi brak json-a ( make sure that 'gem install json -v ‘1.8.6’), instaluję json-a - i w efekcie wywala mi: , you don’t have write permission for the /var/lib/gems/2.3.0 directory ". Jak zainstalować raisy aby było wszystko w nich? Googlałam te polecenia, robiłam sudo update i inne rzeczy i dalej jest to samo. Nie mam już sił. Jaki robię podstawowy błąd?

Po co Ci folder script/generate? Pierwsze słyszę o nim :slight_smile:

Jak system operacyjny używasz?

Podstawowy błąd to enigmatyczny post :wink: Oczekując pomocy i pisząc zapytanie podaj jak najwięcej szczegółów, np. zgodnie z tym blogiem (tutaj link) powinnam mieć taki i taki folder a nie mam, pracuję na Linuksie, ruby mam zainstalowanego przez rbenv, bundle install daje taki a taki wynik. Próbowałam tego, tego i tego. Dostałam takie i takie wyniki. Wtedy będzie Ci łatwiej pomóc.

Czekam na więcej info. Wtedy pomożemy :slight_smile:

Z tego co google podpowiada to script/generate jest w Ruby on Rails 2, teraz mamy już Ruby on Rails 5. podejrzewam, że autorka może korzystać z jakieś starej polskiej książki dla Ruby on Rails.

1 Like

Przepraszam za mało mówiący post. Przerabiam książkę ,Programowanie w Ruby od podstaw" z 2010 roku. Idąc krokami w dziale każą utworzyć katalogi przez ,rails nazwa_aplikacji" --> już w tym momencie widzę, że wg książki powinno się tam znajdować więcej folderów niż mi się utworzyło ( mam config, db…itd), brakuje np. folderu script). Czytałam, że w Rails3 nie ma. Okej jadę dalej. Tworzę połączenie z bazą danych mySQL. Następnie pojawia się scaffolding do wygenerowania wstępnej wersji kodu. Każą wpisać w terminal "ruby script/generate scaffold nazwa_tabeli. I w tym momencie wyskakuje mi ,No such file or directory --script/generate (LoadError).

Taka rada, odpuść sobie stare książki, to naprawdę nie jest dobry pomysł.

O ile w takich językach jak C czy C++ podstawy się nie zmieniają, więc można używać starej symfoni to w takich railsach już dość sporo z wersji na wersję.
Jeśli “umiesz w angielski” to polecam zrobić kilka interaktywnych kursów w internecie (np. codecademy), a potem cały Odin Project. Jeśli porzadnie się przyłożysz to spokojnie możesz iść z taką wiedzą na Juniora. Jeśli wciąż nie będziesz się czuła pewnie to: Tutorial od Hartla

Nawet jeśli się na to nie zdecydujesz, to daruj sobie tą książkę.

1 Like

OKej, odpuszczam, ale czy nie jest to aktualnie wykonalne? Te zadanie z książki? Jaka byłaby inna droga aby uzyskać to czego chcą, skoro nie ma tego script? Dziękuje za kursy. Zabieram się za nie :slight_smile:

zakładając, że masz aktualną wersję rails (5.xx) rails generate … powinno zadziałać

Jeśli chcesz spawdzić jak to działa - proponuję http://guides.rubyonrails.org/getting_started.html

Różnice są takie, że ciągle będą problemy. Inne metody w routes.rb, inne w kontrolerach, inne bibilioteki do testów, inne gemy, inne polecenia w konsoli. Uczenie się z materiałów o Rails 3 i niżej to marnowanie czasu.

Oj, ale w takim C++ standardy też się bardzo zmieniają. C++11 naprawdę bardzo zmieniło ten język, a C++17 też trochę rzeczy wprowadza. Nie piszę że nie da się w C++ dzisiaj pisać używając tylko tego co oferuje C++03 i wcześniejsze… ale to nie ogólnie nie jest dobra droga.

Wracając do Rubiego, skoro nawet w C++ standardy się powoli zmieniają, to co dopiero w tak dynamicznym ekosystemie jak Railsy :wink: Dlatego w pełni się zgadzam z przedmówcami, daj sobie spokój ze starą książką i sięgnij po aktualne materiały.

Dobrze, dziękuję :slight_smile:

Chcę ćwiczyć, w pracy na Mac wszystko mi działa, a na Virtual Box w domu nie potrafię stworzyć środowiska, aby po prostu działało. Ktoś pomoże?

w pliku Gemfile sprawdź czy masz gema therubyracer. Zapewne jego brak powoduje problem. Ten projekt co utworzyłaś na jakiej jest wersji railsów ?

1 Like

Wersja ‘4.2.6’
Działa! Dziękuję!
Co robi ten gem??? Co on powoduje? Skąd taki laik jak ja ma wiedzieć, że go brakuje?

info na wyciągnięcie ręki execjs i therubyracer

No właśnie ja też nie wiedziałem. Ja rozwiązywałem to zawsze tak, że instalowałem nodejs w systemie.