Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vagrant shell配置不起作用_Vagrant - Fatal编程技术网

Vagrant shell配置不起作用

Vagrant shell配置不起作用,vagrant,Vagrant,我一直在尝试使用vagrant在Windows上为Rails开发建立一个Ubuntu虚拟机 我所做的是首先创建一个“普通”vm并将其放入其中,然后运行我需要的所有命令,例如sudo apt get install x,以确保它们工作正常(确实如此),然后再将它们放入shell脚本中 当我尝试使用我制作的shell脚本运行vagrant时,它会出现一条非常长的错误消息,比如stdin:is not a tty和其他同样神秘的错误消息 我的流浪汉档案如下: Vagrant.configure("2"

我一直在尝试使用vagrant在Windows上为Rails开发建立一个Ubuntu虚拟机

我所做的是首先创建一个“普通”vm并将其放入其中,然后运行我需要的所有命令,例如sudo apt get install x,以确保它们工作正常(确实如此),然后再将它们放入shell脚本中

当我尝试使用我制作的shell脚本运行vagrant时,它会出现一条非常长的错误消息,比如stdin:is not a 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提供语法高亮显示):

控制台输出如下:

任何帮助都将不胜感激


经过更多的尝试之后,我意识到甚至来自vagrant docs()的演示脚本都不起作用,这很奇怪,因为当我昨天开始这项工作并试用它时,这个脚本确实起作用了

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

echo 'Updating system packages...'
看起来windows“回车/换行”与unix“换行”可能存在问题


还可以考虑在vagrant文件中使用chef solo选项,这需要一点时间来适应chef,但可能是值得的-

我也注意到了这一点,但我拒绝了它(可能是愚蠢的),因为文档中的示例shell脚本昨天确实有效。我一直在研究puppet和chef,但我一次想到了一个新技巧:)顺便问一下,为什么你推荐chef而不是puppet?我用这个技巧将我的行尾转换为unix行尾..我认为你在学习这两个方面都不会出错,chef似乎对我来说更容易掌握,chef solo和knife无需配置服务器即可轻松实现-一些优秀的博客文章进行了比较: