2015-10-27 1 views
1

Я пытаюсь установить RVM и несколько камней из одного сценария bash, который я использую для загрузки новой коробки разработки. Моя цель состоит в том, чтобы иметь один сценарий, который я могу запустить на чистой установке OSX, чтобы установить все и все, что я использую для разработки.Установка RVM и драгоценных камней на OSX из одного сценария оболочки

После установки RVM я использую сценарий $HOME/.rvm/scripts/rvm, однако в следующей строке, когда я пытаюсь установить определенную версию ruby, он говорит, что rvm не найден. Вот мой сценарий.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 
curl -sSL https://get.rvm.io | bash -s stable --autolibs=homebrew 

source "$HOME/.rvm/scripts/rvm" 

rvm install 2.1.1 
rvm use 2.1.1 

gem install jekyll 
gem install tmuxinator 
gem install scss-lint 

Я не могу понять, почему это не работает, потому что если я бегу каждую команду по отдельности в терминале, все прекрасно работает.

Любые идеи по 1 сценарию для установки RVM, конкретной версии Ruby и нескольких драгоценных камней?

ответ

0

Я нашел решение после прочтения другого stack overflow post.

Комментарий к одному из предложенных ответов, гарантирующий, что скрипт работает с bash, а не sh. Это была моя проблема. После изменения верхней строки моего скрипта (который не был включен в мой пример) с #!/bin/sh на #!/usr/bin/env bash все работало, как ожидалось.

0

Возможно, вам понадобится добавить «источник ~/.rvm/scripts/rvm» в ваш файл ~/.bash_profile.

echo "source $HOME/.rvm/scripts/rvm" >> ~/.bashrc 

Чтобы установить RVM:

rm -rf ~/.rvm 
curl -L https://get.rvm.io | bash -s stable 

В вашем типе сценария:

type_rvm=$(type rvm | head -n 1) 
echo "type rmv: $type_rvm" 

Вы можете попробовать экспорт RVM:

export PATH=$PATH:/opt/rvm/bin:/opt/rvm/sbin 
+0

Я надеялся избежать добавления чего-либо к .bashrc в этот момент. В основном этот скрипт работает до того, как у меня установлена ​​настройка bash \ zsh. Позже в моем сценарии я клонировал свои dotfiles из git repo и помещал их в нужное место, где был добавлен путь к RVM. Я надеялся, найдя скрипт RVM в моем сценарии установки bash, я мог обойтись без касания .bashrc, но, возможно, мне нужно переосмыслить, как я об этом говорю. – mcallan83

+0

Вы можете попробовать экспортировать rvm, например: export PATH =/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/sbin:/usr/sbin [[-s "$ HOME /. rvm/scripts/rvm "]] &&. "$ HOME/.rvm/scripts/rvm" # Загрузить функцию RVM – Noproblem

1

Если вы посмотрите в .bashrc после RVM:

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting 

Что бы я сделал в целом для чистоты

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 
curl -sSL https://get.rvm.io | bash -s stable --autolibs=homebrew 

if [[ -s "$HOME/.rvm/scripts/rvm" ]]; then 
    . "$HOME/.rvm/scripts/rvm" 
else 
    echo "$HOME/.rvm/scripts/rvm" could not be found. 
    exit 1 
fi 

export PATH="$PATH:$HOME/.rvm/bin" 
rvm use 2.1.1 --default --install 
for i in jekyll tmuxinator scss-lint; do gem install $i; done 
Смежные вопросы