眾所周知,vagrant
新增box
需要訪問國外的伺服器,然而國外的伺服器總是那麼的慢慢慢.....但是那個速度真的是不想吐槽。所以就有了本地新增box
的需求,所以就有了以下的內容。
為什麼一定要強調版本號呢?如果使用過homestead
的朋友們,那麼你就會知道其中的酸爽。
以下內容完全從零開始的,如果只是特定問題,可直接跳過會的內容,從問題出看起。初始化乙個虛擬機器
![](https://pic.w3help.cc/12c/eddd45e331c84ed2b0b53e60d9615.jpeg)
$ vagrant init centos/7
在執行上面的目錄處會多以下檔案:
vagrantfile
就是vagrant
的配置檔案,我們也可以直接配置該檔案對虛擬機器進行初始化。
$ vagrant up
以上命令用於啟動虛擬機器,如果你的pc上沒有安裝過執行完上面的命令後,會出現以下內容:centos/7
(可以通過vagrant box list
命令檢視是否安裝過),就會從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:
==> default: adding box 'centos/7' (v1809.01) for provider: virtualbox
default: downloading:
default: download redirected to host: cloud.centos.org
default:
注意著的版本號為:v1809.01
,下面我們會用到。
作者這裡使用的是:在
vagrant
的命令中,我們可以知道vagrant box add [options]
這個乙個命令。我們
vagrant box add centos/7 ./virtualbox.box
然後我們使用以下命令檢視:
$ vagrant box list
centos/7 (virtualbox, 0)
我們可以看到centos/7
已經新增到了本地,那麼這個有什麼問題呢?
問題
注意到(virtualbox, 0)
,這個0
就是指的版本號,這跟它真是的版本號不符。
那麼我們該怎麼做才能新增正確的版本號呢?有兩種方案:
作者使用的是開啟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
。
如果執行過常規方案
的,使用以下方式清除box
:$ vagrant box remove centos/7
]}]}
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 本地新增box 支援帶版本號
一般處理方案 vagrant box add boxname downloadboxname.boxboxname 新增之後的box 名稱正常這樣基本上就可以將box新增上去了。不過,這樣新增的box版本號是0,大部分場景版本號影響也不大。但我在使用lar el homestead的時候,這邊會有版...
seajs版本號新增
with 24 comments 用 seajs 組織專案,上線後,經常需要更新特定檔案或所有檔案的時間戳,以清空瀏覽器快取。最簡單的方式是 define function require,exports 這種方式很簡單直觀,弊端也很明顯 檔案一多,時間戳會分散在各個檔案,維護起來不方便。第二種方式...
golang程式新增版本號
這段時間專案經常發布版本,導致我們版本管理混亂。特別是在真實環境上面,沒有了版本控制軟體協助版本管理,我們無法確認程式到底是新版本還是舊版本。這給我們排查問題帶來了很大困擾。於是,我就想給程式本身打上版本號,通過程式就可以看到程式是新版本還是舊版本了。檢視資料發現golang不能像c 那樣通過巨集定...