Ruby on rails 为什么每次我将vagrant ssh放入vagrant box时都必须运行bundle安装
我在一个全新的rails项目中使用了去年年底的一个Vagrant文件,出于某种原因,每次我将Vagrant ssh放入框中,它都找不到特定的gem,我必须运行bundle安装 以下是我的流浪汉档案,如有任何帮助,将不胜感激。谢谢Ruby on rails 为什么每次我将vagrant ssh放入vagrant box时都必须运行bundle安装,ruby-on-rails,vagrant,Ruby On Rails,Vagrant,我在一个全新的rails项目中使用了去年年底的一个Vagrant文件,出于某种原因,每次我将Vagrant ssh放入框中,它都找不到特定的gem,我必须运行bundle安装 以下是我的流浪汉档案,如有任何帮助,将不胜感激。谢谢 # -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # The
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "eyefodder/precise64-utf8"
config.vm.host_name = 'myproj'
config.vm.network :forwarded_port, guest: 3000, host: 3000
# config.vm.network :forwarded_port, id: 'ssh', guest: 22, host: 2222
config.vm.synced_folder "./puppet", "/etc/puppet"
config.vm.synced_folder 'dotfiles', '/dotfiles'
config.vm.synced_folder '../reports', '/reports'
config.vm.synced_folder "../", "/app", type: "rsync", rsync__exclude: [".git/", "ops/*", "reports/", "tmp/", "log/", ".#*"]
config.vm.provider 'virtualbox' do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
vb.name = 'myproj'
end
config.vm.provision 'shell', path: 'install_apt_packages.sh'
config.vm.provision 'shell', path: 'build_ruby_from_source.sh'
config.vm.provision 'shell', path: 'install_puppet_modules.sh'
config.vm.provision "puppet" do |puppet|
puppet.module_path = 'puppet/modules'
puppet.hiera_config_path = "puppet/hiera.yaml"
puppet.working_directory = "/etc/puppet"
puppet.environment_path = "puppet/environments"
puppet.environment = "dev"
end
config.trigger.before [:up, :reload], :stdout => true do
run "mkdir -p ../reports"
run "mkdir -p ../public/uploads"
run "sh ./setup_guest_bash_profile.sh"
end
end
编辑
似乎每当我关闭我的rails服务器时,我都必须再次运行bundle install来启动它或查看rails控制台,这是一种具有特定属性的默认类型
rsync synced文件夹从计算机执行一次性单向同步
跑向流浪汉正在启动的机器
因此,这些更改并不是实时反映的,您需要强制系统再次同步这些文件
在您的文件中进行更改
config.vm.synced_folder "../", "/app", type: "rsync", rsync__exclude: [".git/", "ops/*", "reports/", "tmp/", "log/", ".#*"], rsync_auto: true
然后,当你有了流浪者之后,你需要逃跑
$ vagrant rsync-auto
所以vagrant会在有变化时强制rsync同步你的文件。一切都应该顺利进行您的gems在哪里下载?在你做了vagrant halt和vagrant Up之后,这个目录又变空了吗?我忽略了/vendor,我想知道这是不是我现在想到的原因