2013-04-28 106 views
9

我一直在嘗試在Windows for Rails開發中使用vagrant設置Ubuntu虛擬機。流浪外殼配置不起作用

我所做的是首先創建一個「普通」虛擬機,然後運行所需的所有命令,例如sudo apt-get install x以確保它們工作(他們所做的),然後放入他們到一個shell腳本。

當我嘗試使用shell腳本運行vagrant時,我使用stdin等非常長的錯誤消息來解決:不是tty和其他同樣神祕的錯誤消息。

我流浪漢文件看起來像這樣:

Vagrant.configure("2") do |config| 

    config.vm.box = "precise32" 
    config.vm.provision :shell, :path => "Vagrant.sh" 
    config.vm.network :forwarded_port, host: 3003, guest: 3000, auto_correct: true 

end 

我的shell腳本是在這裏(因爲它是一個有點長和GitHub上提供語法高亮): https://gist.github.com/leebrooks0/5477591

和控制檯輸出是在這裏: https://gist.github.com/leebrooks0/5477627

任何幫助將不勝感激。


經過艱難我已經意識到,甚至沒有從無業遊民文檔(http://docs.vagrantup.com/v2/getting-started/provisioning.html)的作品,這是很奇怪的,因爲該腳本絕對昨天工作時,我開始這項工作,並嘗試過了演示腳本。

回答

6
/tmp/vagrant-shell: line 5: $'\r': command not found 

線5

echo 'Updating system packages...' 

看起來像一個窗口 「回車/換行」 \r\n VS UNIX 「新線」 \n

可能的問題,還可以考慮使用在顛沛流離的廚師獨奏選項文件,需要一點去習慣廚師,但可能值得 - http://docs.vagrantup.com/v2/provisioning/chef_solo.html

+0

我也注意到,但我駁回它(可能愚蠢)因爲文檔中的示例shell腳本昨天確實有效。我一直在尋找木偶和廚師,但我一次想到一個新的技巧:)爲什麼你推薦廚師傀儡順便? – Lee 2013-04-28 18:10:02

+0

我使用這個技巧來將我的行結束符轉換成unix行尾.http://superuser.com/questions/479756/eol-in-notepad-and-notepad。 – Lee 2013-04-28 18:41:31

+0

我不認爲你可能會錯誤地學習任何一個,廚師似乎更容易接受我,廚師獨奏和刀使它容易,而不需要提供服務器 - 一些好的博客文章在那裏做比較:https:// www.google.com/search?q=chef+or+puppet – house9 2013-04-28 20:04:31