Jestem w trakcie pisania demona opartego na Ruby, aby usiąść i uruchomić na jednym z moich serwerów Ubuntu. Będę chciał, aby to działało podczas uruchamiania, więc napiszę do tego plik zadań dla początkujących. Jednak Użyłem Bundler za zarządzanie różnymi perełki to wykorzystuje i zamierza zrobić to po wdrożeniu go do serwera:Uruchamiasz aplikację Ruby w dystrybucji pakietowej poza swoim własnym katalogiem?
bundle install --deployment
Stawia Bundler do tzw „tryb rozmieszczania”, w którym znajdują się różne opcje zestaw i wszystkie klejnoty są instalowane w katalogu "dostawcy", a nie w całym systemie. Jednak to stwarza problem z uruchomieniem go, przy czym musi on być wykonany z własnego katalogu, jak to jest, gdy kamienie skończyć:
<in the app's dir>
$ ./runmyapp
<it runs>
Gdybym cd
do innej lokalizacji, a następnie spróbuj uruchomić go za pomocą jest pełna ścieżka, to nie:
<in another directory>
$ /path/to/runmyapp
<it crashes as it can't locate its gems>
Czytałem przez wiele dokumentacji Bundler i cały ten scenariusz nie jest jeszcze pokryty? Czy powinienem zamiast tego zainstalować klejnoty w systemie? Czy jest coś jeszcze, co powinienem zrobić?
Myślałem, że 'bundle exec' był do wykonywania plików wykonywalnych w klejnotach. To znaczy klejnoty, które bundler zainstalował dla mojej aplikacji w oparciu o plik gem, ale nie moje własne. Czy to nie prawda? –
'bundle exec' służy do uruchamiania plików wykonywalnych w środowisku gems. Cytat z http://gembundler.com/man/bundle-exec.1.html: 'bundle-exec - Wykonaj polecenie w kontekście pakietu' – petRUShka
Działa to w ten sposób. Ale być może istnieje inny sposób, – petRUShka