我有一个安装RVM和Ruby的厨师食谱。在食谱中,我使用execute
资源来运行以下命令:
rvm alias create default 2.0
但这并不能将我的默认Ruby版本设置为2.0。如果我直接在主机上运行此命令,它确实可以工作,因为当我键入ruby -v
时,版本设置为2.0,但是当我尝试通过厨师食谱ruby -v
运行时,仍然返回1.8。
这是我的资源声明:
execute "set_ruby_to_version_#{version}" do
command "rvm alias create default #{version}"
action :run
end
怎么不通过厨师食谱来工作?我知道有一本可以处理RVM的食谱,但我仍然想知道为什么这不起作用。
,因为RVM 1.25 RVM如果您依赖此包装器(它已经在PATH
中),则不会在$rvm_path/bin
中创建包装器,然后在创建别名之后运行此包装:
rvm wrapper default --no-prefix
如果您需要一个特定gem的包装器,请在命令之后添加其名称,例如:
rvm wrapper default --no-prefix haml
它将仅创建此包装器:$rvm_path/bin/haml
其他方法是将自动生成的包装器添加到PATH
:
PATH=$rvm_path/gems/ruby-2.1.0/wrappers:$PATH
rvm alias create default 2.1.2
rvm use 2.1.2
为我工作。