2013-09-19 2 views
4

Я пытаюсь установить rbenv с файлом Docker, но это просто не удается на rbenv install. У меня есть Ruby-build там, он просто не работает.Использование rbenv с Docker

Соответствующие биты Dockerfile (в основном поднятого с https://gist.github.com/deepak/5925003):

 
# Install rbenv 
RUN git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv 
RUN echo '# rbenv setup' > /etc/profile.d/rbenv.sh 
RUN echo 'export RBENV_ROOT=/usr/local/rbenv' >> /etc/profile.d/rbenv.sh 
RUN echo 'export PATH="$RBENV_ROOT/bin:$PATH"' >> /etc/profile.d/rbenv.sh 
RUN echo 'eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh 
RUN chmod +x /etc/profile.d/rbenv.sh 

# install ruby-build 
RUN mkdir /usr/local/rbenv/plugins 
RUN git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build 

ENV PATH /usr/local/rbenv/shims:/usr/local/rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 

# Set to Ruby 2.0.0-p247 
RUN rbenv install 2.0.0-p247 
RUN rbenv rehash 
RUN rbenv local 2.0.0-p247 

Ошибка:

 
Step 21 : RUN rbenv install 2.0.0-p247 
---> Running in 8869fa8f0651 
rbenv: no such command `install' 
Error build: The command [/bin/sh -c rbenv install 2.0.0-p247] returned a non-zero code: 1 
The command [/bin/sh -c rbenv install 2.0.0-p247] returned a non-zero code: 1 
+4

Не звучать легкомысленно, но действительно ли вы собираетесь использовать более одной версии Ruby в контейнере? Я возился с использованием rbenv на основе вашего Dockerfile, и я буду продолжать возиться, но мне интересно, следует ли просто установить известную версию, которую мы хотим использовать напрямую. Мне нравится rvm и rbenv, но Docker кажется областью, в которой вы можете уменьшить свои зависимости. –

+0

Нет, но мне нужна его, чтобы использовать правильную версию Ruby, а не версию репо пакета Ubuntu. Таким образом, это либо это, компиляция из источника, либо rvm, и я предпочел бы избежать последних двух, если это возможно. Но вы правы, что лучше всего просто скомпилировать его из источника. – TheJF

+2

Почему бы не использовать ruby-install напрямую без rbenv? «Если вы установили ruby-build как отдельную программу, вы можете использовать команду ruby-build для компиляции и установки версий Ruby в определенные местоположения. Запустите команду ruby-build с точным именем версии, которую вы хотите для установки и полного пути, где вы хотите его установить. Например, ruby-build 1.9.3-p448 ~/local/ruby-1.9.3-p448 "(https://github.com/sstephenson/ruby -build) – Niko

ответ

2

Вы пропустили шаг настройки для ruby-build: Вы должны запустить его install.sh после вас клонировал его.

+0

Так было. Благодаря! –

Смежные вопросы