71 votes

Comment installer les exigences du système RVM sans donner l'accès sudo à l'utilisateur RVM.

Sur mon serveur Debian, j'ai un utilisateur appelé "deployer" qui n'a pas de sudo accès, et a RVM installé.

Lors de l'installation de Ruby à l'aide de "deployer", comme la version 1.9.3, une tâche est déclenchée pour installer les dépendances.

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

qui échoue et arrête l'installation car "deployer" ne peut pas sudo.

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

Quelle est la manière correcte d'installer ces dépendances ? Ou comment puis-je les lister pour les installer manuellement ?

156voto

kwarrick Points 1777

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 nom d'utilisateur et votre mot de passe, vous pouvez le faire. sudo mot de passe, vous pouvez désactiver 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 je trouve cela plutôt ennuyeux. Je ne veux pas mettre mon mot de passe sudo dans RVM, ni d'ailleurs dans Bundle ! S'il vous plaît, communauté, arrêtez de faire ça.

34voto

lidaobing Points 649

Je préfère ceci

$ 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 lancer

# 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

6voto

Gili Points 14674

El réponse acceptée ne parvient pas à installer Ruby dans .rvm/bin/ruby . Le shell script se retrouve dans .rvm/wrappers/ruby-2.0.0-p247/ruby ce qui est une douleur si votre build script dépend de cet emplacement et que le numéro de version change au fil du 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.

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

-1voto

Gesh Points 354

Le problème a été introduit quelque part dans les dernières versions de RVM. Je ne sais pas exactement quand, mais certainement au cours des 3-4 derniers mois.

Essayez ça :

rvm get 1.18.8
rvm install <whichever-version-you-want>

Je ne sais pas exactement à quel moment du chemin entre la 1.18.8 et la 1.20.12 ce problème a été introduit, mais pour moi l'installation fonctionne avec RVM v1.18.8 et échoue avec la v1.20.12.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X