web-dev-qa-db-fra.com

Comment installer la configuration système RVM sans donner à Sudo un accès pour l'utilisateur RVM

Sur mon serveur Debian, j'ai un utilisateur appelé "déployeur" qui n'a pas accès à Sudo et sur lequel RVM est installé.

Lors de l'installation de Ruby utilisant "deployer", comme 1.9.3, il déclenche une tâche pour installer les dépendances

"Installing requirements for debian, might require Sudo password."

qui échoue et arrête l'installation car "déployeur" ne peut pas Sudo.

Je ne veux pas ajouter "deployer" dans la liste sudoers, et je ne veux pas installer RVM pour un autre utilisateur juste pour une utilisation unique pour l'installation des dépendances.

Quelle est la bonne façon d'installer ces dépendances? Ou comment les répertorier pour les installer manuellement?

71
Vitaliy Yanchuk

Il s'agit en effet d'une nouvelle fonctionnalité de RVM appelée autolibs, qui installe automatiquement les dépendances.

Si vous avez déjà installé RVM et qu'il vous demande votre mot de passe Sudo, vous pouvez désactiver les autolibs:

$ rvm autolibs disable
$ rvm requirements # manually install these
$ rvm install Ruby

Sinon, vous pouvez installer RVM sans autolibs avec cette commande:

$ \curl -L https://get.rvm.io | bash -s -- --autolibs=read-fail

Je comprends la motivation, mais la trouve plutôt ennuyeuse. Je ne veux pas mettre mon mot de passe Sudo dans RVM, ni d'ailleurs Bundle! S'il vous plaît, communauté, arrêtez de faire ça.

156
kwarrick

Je préfère ça

$ rvm autolibs fail
$ rvm install Ruby
Searching for binary rubies, this might take some time.
Found remote file https://rubies.travis-ci.org/ubuntu/12.04/x86_64/Ruby-2.1.1.tar.bz2
Checking requirements for ubuntu.
Missing required packages: gawk g++ gcc make libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev
RVM autolibs is now configured with mode '2' => 'check and stop if missing',
please run `rvm autolibs enable` to let RVM do its job or run and read `rvm autolibs [help]`
or visit https://rvm.io/rvm/autolibs for more information.
Requirements installation failed with status: 1.

alors je peux me reconnecter avec root et exécuter

# apt-get install gawk g++ gcc make libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev
34
lidaobing

réponse acceptée ne parvient pas à installer Ruby dans .rvm/bin/Ruby. Le script Shell se termine par .rvm/wrappers/Ruby-2.0.0-p247/Ruby ce qui est pénible si votre script de build dépend de cet emplacement et que le numéro de version change avec le temps.

Voici une solution plus simple qui a fonctionné pour moi:

\curl -L https://get.rvm.io | bash -s -- --ignore-dotfiles --autolibs=0 --Ruby

.rvm/bin/Ruby est créé comme prévu.

Source : http://blog.sunild.com/2013/07/install-Ruby-with-rvm-on-mac- os-108.html

6
Gili