当前位置: 首页 > 知识库问答 >
问题:

vagrant不会使用rbenv ruby版本

曹普松
2023-03-14

我在用流浪汉盒子:

https://dl.dropbox.com/u/14292474/vagrantboxes/precise64-ruby-1.9.3-p194.box

它有ruby1。9.3安装在rbenv下。我正在尝试测试rails应用程序,在chef solo provisioner中(除其他外),我有以下代码块:

execute 'install' do
  action :run
  command "bundle install --path #{node.app_name.lib_path}/vendor/bundle --binstubs"
  cwd node.app_name.path 
end

rbenv安装在流浪者用户下,并指示全局使用1.9.3。出于某种原因,当bundler在流浪者向上期间运行时,它仍然使用仅在 /opt/vagrant_ruby.中找到的1.8.7

我如何告诉vagrant我想使用rbenv ruby来执行所有任务。我是否需要在执行块的环境选项中传递某些内容?

共有1个答案

郗福
2023-03-14

首先开始获取服务器中捆绑包的路径:

$ which bundle
/opt/rbenv/shims/bundle

然后,知道在chef中,当您包含rbenv烹饪书时,常量rbenv_ROOT等于/opt/rbenv,请按如下方式修改您的命令:

command "#{RBENV_ROOT}/shims/bundle install --path #{node.app_name.lib_path}/vendor/bundle --binstubs"

因此,在安装时请确保使用正确版本的bundle。

你可以做的第二件事是添加rbenv的路径(它可以位于 /etc/profile.d/rbenv,但这取决于你的安装)在~/. bashrc的用户,你使用的厨师独奏

例如,如果您正在使用“deployer”,请编辑/home/deployer/。bashrc将在文件顶部显示:

#Rbenv path for remote shells
source /etc/profile.d/rbenv.sh    # <--- adapt this to your installation

# If not running interactively, don't do anything
[ -z "$PS1" ] && return    # <--- remote shell (ssh connection) will stop at this line
 类似资料:
  • 简介 Vargrant是一个管理虚拟机环境的工具,允许你在不同的虚拟化和云平台 配置和使用可再生的工作环境.它也集成了Ansible作为对虚拟机的服务提供者,而且这两个工具配合的很好. 这个指南会叙述如何同时配合使用Vagrant和Ansible. 如果你对Vagrant还不了解,你应该看看这个文档 the documentation. 假设你已经安装了Ansible,在Git上检测,运行的也很好

  • 本文向大家介绍Vagrant基本命令使用详解,包括了Vagrant基本命令使用详解的使用技巧和注意事项,需要的朋友参考一下 Vagrant基本命令详解,具体如下: 1、检查当前的版本 2、列出所有的box 3、添加一个box 1)box名简写 Vagrant可以从这里https://atlas.hashicorp.com/boxes/search 下载各种Vagrant映像文件。 2)通过指定的U

  • 由於在 DevOps 的實務操作上我們常常會同時操作多台機器,所以在正式進入接下來的主題前,我想要先花一點篇幅介紹如何使用 Vagrant 來模擬我們的測試環境。

  • 重要提示:Vagrant 所在的 HashiCorp 公司宣布,不允许中国境内使用该公司旗下的产品和软件。 Vagrant 是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境。它使用 Oracle 的开源 VirtualBox 虚拟化系统,使用 Chef 创建自动化虚拟环境。 功能特性: 支持快速新建虚拟机 支持快速设置端口转发 支持自定义镜像打包(原始镜像方式、增量补丁方式) 基本上日常

  • In 1974 computers were oppressive devices in far-off air-conditioned places. Now you can be oppressed in your own living room. — Ted Nelson 虽然能够在云中部署虚拟机是一个创举,但若能将虚拟机运行在你自己的桌面系统中有时甚至是更方便的, 尤其对于测试来说更是如此

  • 问题内容: 我有这样的环境: 在Mac OS X上运行的PyCharm 在流浪汉实例中的Ubuntu3.4上运行的Python3.4环境 我希望能够使用PyCharm运行/调试测试。到目前为止,我可以做到,但是最近我在测试中添加了selenium,现在我需要在 xvfb-run remote命令中包装python解释器。我尝试添加远程外部工具,但无法使其正常工作。我找到了这个人,但他并没有很好地解