摘要:為什么一定要強調版本號呢如果使用過的朋友們,那么你就會知道其中的酸爽。注意著的版本號為,下面我們會用到。那么我們該怎么做才能添加正確的版本號呢有兩種方案從上面的基礎上進行修改通過方式推薦。
前言
眾所周知,vagrant 添加 box 需要訪問國外的服務器,然而國外的服務器總是那么的慢慢慢.....但是那個速度真的是不想吐槽。所以就有了本地添加 box 的需求,所以就有了以下的內容。
為什么一定要強調版本號呢?如果使用過 Homestead 的朋友們,那么你就會知道其中的酸爽。
以下內容完全從零開始的,如果只是特定問題,可直接跳過會的內容,從問題出看起。目標
該文章最終的目標是添加一個帶版本號的box,效果如下:
準備工作初始化一個虛擬機
獲取對應的 box 下載地址
使用下載工具下載該 box
初始化一個虛擬機
在 https://app.vagrantup.com 中有很多的 box 可供我們下載使用,你可以搜索你想要的 box,我這里使用的是 centos/7。
$ vagrant init centos/7
在執行上面的目錄處會多以下文件:
Vagrantfile 就是 vagrant 的配置文件,我們也可以直接配置該文件對虛擬機進行初始化。
獲取對應的 box 下載地址
$ vagrant up
以上命令用于啟動虛擬機,如果你的PC上沒有安裝過 centos/7(可以通過 vagrant box list 命令查看是否安裝過),就會從 https://vagrantcloud.com 去下載 centos/7 ,如果有 centos/7 就會從本機獲取。
執行完上面的命令后,會出現以下內容:
Bringing machine "default" up with "virtualbox" provider... ==> default: Box "centos/7" could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Loading metadata for box "centos/7" default: URL: https://vagrantcloud.com/centos/7 ==> default: Adding box "centos/7" (v1809.01) for provider: virtualbox default: Downloading: https://vagrantcloud.com/centos/boxes/7/versions/1809.01/providers/virtualbox.box default: Download redirected to host: cloud.centos.org default:
注意上面的 default: Downloading ... 后面緊跟著有一個 url 地址,那個就是 centos/7 box的下載地址。
注意著的版本號為: v1809.01,下面我們會用到。
使用下載工具下載該 box
作者這里使用的是:迅雷極速版。當然你們也可以使用其他的下載工具。添加 vagrant box 常規方案(不推薦)
在vagrant的命令中,我們可以知道vagrant box add [options]
進入到 virtualbox.box 下載目錄,并執行以下內容:
vagrant box add centos/7 ./virtualbox.box
然后我們使用以下命令查看:
$ vagrant box list centos/7 (virtualbox, 0)
我們可以看到 centos/7 已經添加到了本地,那么這個有什么問題呢?
問題
注意到 (virtualbox, 0),這個 0 就是指的版本號,這跟它真是的版本號不符。
那么我們該怎么做才能添加正確的版本號呢?有兩種方案:
從上面的基礎上進行修改;
通過 metadata.json 方式(推薦)。
正確的添加方案 根據 常規方案 修改(不推薦)作者使用的是 win10操作系統,對使用 Mac OS的朋友們的情況不是很清楚。
打開 資源管理器 (俗稱我的電腦),在你的 C 盤下的用戶名下有一個 .vagrant.d/boxes 目錄,添加的 box 會加載到這來,結果如下:
這里的 centos-VAGRANTSLASH-7 就是我們剛才添加的 box,打開目錄:
這里的 0 就是版本號,我將它修改為: 1809.01 (上面有記載),然后使用命令查看:
$ vagrant box list centos/7 (virtualbox, 1809.01)
注意到上面的版本號,就由原來的 0 變成了現在的 1809.01。
通過 metadata.json 方式(推薦)如果執行過 常規方案 的,使用以下方式清除 box:
$ vagrant box remove centos/7
首先進入到 box 的下載目錄,新建一個文件 metadata.json:
{ "name": "centos/7", "versions": [{ "version": "1809.01", "providers": [{ "name": "virtualbox", "url": "./virtualbox.box" }] }] }
name添加的box名字
version:版本號
providers.name:虛擬主機類型
providers.url:box地址
metadata.json準備完成后,執行以下命令添加:
$ vagrant box add metadata.json
輸出以下結果:
==> box: Loading metadata for box "metadata.json" box: URL: file://D:/vagrant/box/metadata.json ==> box: Adding box "centos/7" (v1809.01) for provider: virtualbox box: Downloading: ./centos7.box box: ==> box: Successfully added box "centos/7" (v1809.01) for "virtualbox"!
查看添加的 box 列表:
$ vagrant box list centos/7 (virtualbox, 1809.01)總結
就此,整篇文檔就到此結束了,我們總結下要領:
使用常規方法添加時,需要正確的找到 .vagrant.d/boxes ,并確認剛才添加的 box,最后進行版本修改;
使用metadata.json方式,注意整個 metadata.json 中不能有注釋的內容,注意各個參數的準確性。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29507.html
摘要:解決方法在你的項目下修改文件,加入如下配置的名字需與盒子列表中的一致的版本號需與盒子列表中的一致是否檢查更新然后即可。 最近我在公司的新電腦配置新的開發環境,從而了解了一下在安裝 Homestead 可能會出現的問題。 一開始用的是 win7 ,但發現 win7 中使用 VirtualBox 會有不少 兼容性 的問題。 打開 VirtualBox 可能會出現 code E_FAIL ...
摘要:整體與很像,但是做了一些更改,為了更適應中國國內的開發網絡環境。表示宿主機器的目錄,表示環境目錄。將虛擬機置于休眠狀態。在開發過程中可能會需要增加多個站點來運行不同的開發程序。與擴展名重名,建議將的改成為佳。 SimfaseDevEnv 介紹 SimfaseDevEnv是為php開發者提供的開發環境,構建在vagrant之上;Vagrant的Vagrangfile配置文件是在Homes...
摘要:啟動,輸入驗證安裝是否成功,如果出現版本信息表示成功。安裝注意官方推薦的是。如果上述命令執行失敗,需要確認是否是最新版本。和配置文件中的保持一致在目錄下運行命令啟動這個提示是沖突,更改即可。再執行,首次啟動會有一個初始化過程查看狀態。 如果是工程化開發,走正規軍路子還是推薦使用 Homestead。下載Vagrant。官方下載地址 這里下載的是Windows版本的安裝包。直接點擊安裝即...
閱讀 3068·2021-09-22 15:59
閱讀 1322·2021-08-30 09:46
閱讀 2282·2019-08-30 15:54
閱讀 2021·2019-08-26 12:15
閱讀 2548·2019-08-26 12:09
閱讀 1346·2019-08-26 11:57
閱讀 3344·2019-08-23 17:11
閱讀 1893·2019-08-23 15:59