[英]Vagrant provisioning succeeds, but ssh does not contain dirs, env variables, etc
我有一個成功的流浪者配置腳本-我可以看到日志的輸出和我的依賴項正在安裝,目錄和文件正在創建並復制過來,等等。但是當我將vagrant ssh
到VM時,沒有一個文件夾,文件,環境變量和安裝都在這里 。
編輯: git
, curl
等工作,但是gvm
, go
和$GOPATH
等不起作用,並且我的go
目錄不存在
我有信心供應工作正常,因為我可以從腳本運行Web服務器並確認正在提供應用程序。
這就是Vagrant設置的方式嗎? 如果是的話, vagrant ssh
有什么意義?
我正在運行默認的“ hashicorp / precise32”框,Ubuntu 12.04,默認提供程序。
Shell腳本
#! /bin/bash
echo "Provisioning virtual machine"
sudo apt-get update
echo "Installing Dependencies"
# Base dependencies: curl git
# Dependencies for gvm: make bison
sudo apt-get install curl git make bison -y 2> /dev/null
# Dependencies for add-apt-repository: python-software-properties software-properties-common
sudo apt-get install python-software-properties software-properties-common -y 2> /dev/null
# This allows us to get an updated version of git, which we need for gvm
sudo add-apt-repository ppa:git-core/ppa -y 2> /dev/null
sudo apt-get update
sudo apt-get install git -y 2> /dev/null
echo "Installing GVM"
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
echo "Installing and configuring Go"
gvm install go1.4
gvm use go1.4 --default
mkdir -p ~/go/{bin,pkg,src}
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
echo "Installing Nginx"
sudo apt-get install nginx -y 2> /dev/null
Vagrantfile
`# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "hashicorp/precise32"
config.vm.provision :shell, path: "init.sh"
config.vm.network :forwarded_port, host: 4000, guest: 8080
end`
Vagrant設置腳本以root身份運行,因此~
引用/root
而不是/home/vagrant
。
解決的選項是su -c "*your command*" vagrant
或使用絕對路徑,這可能是最好的方法。
相似的問題: 為什么我的Vagrant引導程序文件沒有修改bash_login?
我在這里的答案中有更多詳細信息: 無業游民-未安裝Rails
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.