RVM: Różnice pomiędzy wersjami

 
Linia 27: Linia 27:
 
  {{output}}(...)
 
  {{output}}(...)
 
  1 gem installed{{endoutput}}
 
  1 gem installed{{endoutput}}
 
==== Instalacja interpretera Ruby 2.7.8 ====
 
 
Jeżeli twoje oprogramowanie nadal używa Ruby 2.X to rozważ aktualizację swojej aplikacji. Ruby 2.7.8 jest ostatnią wersją z linii 2.7 i jego wsparcie przez autorów Ruby zostało zakończone 31 marca 2023 roku. Poniżej wskazujemy sposób uruchomienia Ruby 2.7.8 ale nie gwarantujemy, że będzie on w przyszłości aktualny jak nie gwarantujemy jego działania.
 
 
Należy utworzyć plik tekstowy util.patch z zawartością:
 
 
<syntaxhighlight lang="c">
 
--- util.c.orig 2022-04-12 11:25:48 UTC
 
+++ util.c
 
@@ -210,6 +210,7 @@ typedef int (cmpfunc_t)(const void*, const void*, void
 
 
typedef int (cmpfunc_t)(const void*, const void*, void*);
 
 
+#if !defined HAVE_GNU_QSORT_R
 
#if defined HAVE_QSORT_S && defined RUBY_MSVCRT_VERSION
 
/* In contrast to its name, Visual Studio qsort_s is incompatible with
 
  * C11 in the order of the comparison function's arguments, and same
 
@@ -255,7 +256,7 @@ ruby_qsort(void* base, const size_t nel, const size_t
 
    qsort_s(base, nel, size, cmp, d);
 
}
 
# define HAVE_GNU_QSORT_R 1
 
-#elif !defined HAVE_GNU_QSORT_R
 
+#else
 
/* mm.c */
 
 
#define mmtype long
 
@@ -521,7 +522,8 @@ ruby_qsort(void* base, const size_t nel, const size_t
 
    else goto nxt;                        /* need not to sort both sides */
 
  }
 
}
 
-#endif /* HAVE_GNU_QSORT_R */
 
+#endif
 
+#endif /* !HAVE_GNU_QSORT_R */
 
 
char *
 
ruby_strdup(const char *str)
 
</syntaxhighlight>
 
 
następnie wydać polecenie:
 
{{prompt}}rvm install 2.7.8 --autolibs=disabled --patch util.patch --with-openssl-dir=/usr/local/openssl-unsafe
 
  
 
=== Zmienne ===
 
=== Zmienne ===

Aktualna wersja na dzień 15:36, 23 lip 2024

RVM to platforma przeznaczona do zarządzania wieloma instalacjami interpretatora Ruby. Użycie RVM ma kilka korzyści, przede wszystkim możliwość ustalenia własnych gemów i ich aktualizacji do wybranych przez siebie wersji.

Instalacja RVM

Raz zainstalowany RVM można później używać dla wszystkich własnych domen.

 curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
 curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
 curl -sSL https://get.rvm.io | bash -s stable
(...)
#   Thank you for using RVM!
#   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.

In case of problems: http://rvm.io/help and https://twitter.com/rvm_io
source .rvm/scripts/rvm

Instalacja interpretera Ruby

Po wykonaniu polecenia rvm list known pojawi się między innymi lista dostępnych wersji interpretera Ruby, która znajduje się w sekcji MRI Rubies. Do instalacji należy użyć polecania

rvm install 3.2.4 --autolibs=disabled
(...) 
Install of ruby-3.2.4 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
gem install bundler
(...)
1 gem installed

Zmienne

Ustawianie zmiennej z poziomu SSH z widocznością dla aplikacji uruchamianej przez Passengera:

  • Dopisanie zmiennych do ~/.bash_profile (np. export TESTENV=1).
  • Ważne: zmienne nie działają z ~/.bashrc i ~/.shrc

Przebudowa

Ruby:

rvm reinstall ruby-X.X.X --autolibs=disabled

gdzie X.X.X to używana wersja Ruby w RVM.

Gemów:

gem pristine --all

Odnośniki zewnętrzne