问题标签 [vagrant-provision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
72 浏览

ruby - 通过包类型指定要安装 Rubygems 的自定义位置

我已将 Ruby 安装在自定义位置(在 Ubuntu 机器上,使用 ruby​​-install 安装到 /opt/rubies),当涉及到这样的声明时:

gem它们失败(或安装了错误的 Ruby 版本),因为它在错误的位置 (/usr/bin)寻找 Rubygems 的命令。我可以想到一些可以解决此问题的方法:

  1. 告诉我要使用package哪个版本,但我在文档中gem没有看到任何内容。
  2. 将正确的 bin 目录添加到 PATH,但我不知道哪个用户正在运行配置程序,因此不知道在哪里更改 PATH。或者我应该随 Ruby 安装一起更改路径?
  3. 改为使用exec声明。

显然,使用package非常方便,所以任何继续使用的方式都是我的偏好。任何帮助或见解将不胜感激。

0 投票
1 回答
34 浏览

laravel - 有宅基地和 Linux 盒子的流浪者

为什么在 homestead 盒子中生成了一个 yaml 文件,而在诸如精确 64 盒子之类的简单 linux 盒子中却没有生成一个 yaml 文件。

0 投票
1 回答
884 浏览

vagrant - 多机 Vagrant 项目未按照文档进行配置

我正在尝试建立一个多机 Vagrant 项目。根据文档(https://www.vagrantup.com/docs/multi-machine/),配置是“由外而内”,这意味着在单个机器块中配置脚本之前执行任何顶级配置脚本。

该项目包含一个 Laravel 项目和一个 Symfony 项目。我的Vagrantfile样子是这样的:

我有一个web用于 Laravel 项目的块 ( ),其中我复制了基于 Homestead 的内容Vagrantfile,以及一个api使用“标准”Vagrant 配置的块。

为了引导项目,我创建了一个简单的 shell 脚本 ( init.sh ),它只是将 Git 存储库克隆到 git-ignored 目录中。鉴于文档说配置由外而内工作,因此我希望该脚本能够运行,然后是特定于机器的块,但这似乎没有发生。相反,在 上vagrant up,我收到以下错误:

这台机器的配置有错误。请修复以下错误并重试:

vm:
* 必须指定一个框。

在运行 shell 脚本之前,它似乎仍在尝试配置单个机器。我知道 shell 脚本没有被调用,因为我echo向它添加了一条语句。相反,终端只输出以下内容:

将机器 'web' 与 'virtualbox' 提供程序一起使用...
将机器 'api' 与 'virtualbox' 提供程序一起使用...

那么我怎样才能让 Vagrant 先运行我的 shell 脚本呢?我认为它失败了,因为该web组正在检查我的web/Homestead.yaml文件是否存在,如果存在,请使用其中的值进行配置(包括框名称),但由于我的 shell 脚本尚未运行并且没有克隆了该文件不存在的存储库,因此没有box指定,这是 Vagrant 抱怨的。

0 投票
1 回答
20 浏览

vagrant - Vagrant 从 Oracle 安装 Java6SDK

最近刚刚下载了 Oracle JavaSDK 6 (6u45)。

想知道如何做一个shell设置来安装.binOracle提供的文件。我知道有更好的选择(在线存储库),但这些会消耗时间,而且我仅限于使用 JavaSDK 6,因为我正在复制的服务器需要我使用 Java6。

任何提示如何通过外壳配置来完成?

0 投票
2 回答
1840 浏览

linux - 在 Vagrant 上配置期间如何以其他用户身份执行命令?

Vagrant在提供期间执行我的脚本root。但是我想在配置期间以另一个用户的身份执行一些命令。这就是我目前的做法:

但我想让它变得更好,像这样:

这可能吗 ?谢谢!

0 投票
1 回答
457 浏览

shell - Vagrant 将默认 webroot 从 /var/www 更改为 /var/www/app/web-suite/ shell 脚本

我正在提供来自 的索引/var/www/app/web-suite/,而不是/var/www/当我尝试访问该框(即:)时,我无法弄清楚如何将其默认设置为该位置192.168.33.10,我当前的配置脚本如下:

0 投票
1 回答
1545 浏览

ruby - 如何使用 Ruby 模板 Vagrantfile?

我有几个Vagrantfile,每个都有不同的provider,因为Vagrant有一个限制,不允许同时使用相同的两个或多个规定Vagrantfile。所以,我分成两个或多个Vagrantfiles,但我的“身体”,我的规定脚本对两者都是相同的,唯一改变的是provider块。

例如:

local_nagios/流浪文件

digital_nagios/流浪文件

我想知道是否可以从中制作模板。或者像这样导入我的公共区域:

我不熟悉Ruby,所以任何建议将不胜感激!

0 投票
3 回答
572 浏览

vagrant - 在 Puphpet/Vagrant 盒子上制作 PHP 使用特定的子版本,例如 7.0.4 与 7.0.5

使用puphpet,典型的 config.yaml php 部分可能如下所示:

我安装了许多其他 PHP 模块,但它的 ioncube 我遇到了问题。

直到早些时候,这是使用 PHP 7.0.4 进行配置的,它似乎有一个用于 Ioncube 加载器的 yum 包。

我只需要重新运行vagrant provision,现在突然之间我似乎在 PHP 7.0.5 上。

通常没有太大的麻烦,除了现在我遇到了 ioncube 依赖项的问题(ioncube 加载程序对于运行我需要的一些加密的 3rd 方代码至关重要)。

我的问题是:是否可以将 php 锁定到 7.0.4?

version: '704'不起作用。

也只是为了检查我是否正确理解了错误消息:

欢迎其他建议,我只需要 ioncube loader 处理这个 1 项目,我在这里吗?看起来它适用于所有版本的 php,除了自上次提供以来神奇地出现在我的 php 上的那个。完全有可能我在吠叫错误的树......

0 投票
2 回答
2824 浏览

elasticsearch - 如何在 Vagrant 中安装和运行 elasticsearch?

我正在尝试在 Vagrant 中安装和运行 Elasticsearch。问题是,当我尝试运行 elasticsearch 时,出现以下错误:

我认为问题在于它没有写权限。当我通过配置安装弹性时,我获得以下权限:

但是当我手动执行相同操作时:

我的流浪文件是:

0 投票
1 回答
153 浏览

vagrant - Vagrant up - 执行 sh 文件失败

我有一个简单的 vagrant 文件,它在提供阶段调用 sh 文件: 在此处输入图像描述

在 script.sh 中,我有 wget 命令失败并出现错误 403(禁止)。

从 VM 手动运行脚本时遇到同样的错误。但是如果我用相同的内容创建新的 sh 文件,那么 wget 将成功通过!

*我知道 vagrant 有几种方法可以做规定,但请坚持这个特定的用例。

非常感谢您的帮助。