我正在尝试从用于引导新开发框的单个bash脚本安装RVM和一些gem。我的目标是拥有一个脚本,我可以在干净安装的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
我无法理解为什么这不起作用,因为如果我在终端中单独运行每个命令,一切都很有效。
关于安装RVM,特定版本的Ruby和一些宝石的1脚本解决方案的任何想法?
答案 0 :(得分:1)
如果你在RVM之后查看.bashrc,他们有:
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
答案 1 :(得分:0)
您可能需要添加" source~ / .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
答案 2 :(得分:0)
我在阅读了另一个stack overflow post之后找到了一个解决方案。
对其中一个答案的评论建议确保脚本以bash而不是sh运行。那是我的问题。将我的脚本的顶行(未包含在我的示例中)从#!/bin/sh
更改为#!/usr/bin/env bash
后,一切都按预期工作。