我通常使用原子编辑器进行任何编码工作,并在我的计算机上有包含代码的文件夹。在我的 Mac OS 计算机上进行一些更新后,一些 ruby gem 停止工作,rvm 不再响应,并且 homebrew 给我带来了很多麻烦。我想防止这种情况再次发生,并认为我应该使用 Vagrant。到目前为止我很喜欢它并且工作得很好,但是我仍然想使用我的 Atom 编辑器。
通常我使用 gulp 或 grunt 处理项目,只要进行任何更改,他们就会编译文件。虽然我已经成功使用 FileZilla 连接到 Vagrant,但我不知道如何将atom 连接到它。我所需要的只是编辑 Vagrant VM 中的文件,就像它们存储在我的 Mac 上的常规目录中一样。知道如何解决这个问题吗?
最佳答案
您当然可以使用当前的工作流程,但不一定需要使用 Filezilla 或其他协议(protocol)连接到虚拟机。
最好是看看Synced Folders并同步您的项目目录。默认情况下,vagrant 将当前目录(存储 Vagrantfile 的位置)同步到虚拟机中的 /vagrant
目录。因此,如果您可以将项目目录放在同一文件夹中,它们将自动同步。
如果Atom(我不是此编辑器的用户)有一个用于存储项目文件的特殊文件夹,您可以将此文件夹添加为同步文件夹。将以下内容添加到您的 Vagrantfile
config.vm.synced_folder "/Users/fhenri/project/tac.local", "/project"
就我而言,这会将我的主机(mac os)文件夹/Users/fhenri/project/tac.local
同步到vm文件夹/project
,因此每当我创建在此文件夹中进行更改,我可以从虚拟机中看到完全相同的更改。
如果您使用 ruby 和 gems,最好在本地安装 gem(在您可以在主机和 guest 之间共享的项目结构内),这样当您进行更改时它们会自动反射(reflect)在 2 个环境中。
当您使用gulp
或grunt
时,您可以从虚拟机启动它们,处理同步文件夹以及您所做的所有更改将从 mac os 主机生成的文件将自动在虚拟机上获取。我记得当使用默认的虚拟盒共享文件夹时,自动不会闪光,您应该允许几秒钟的延迟,但它仍然可以工作。
如果性能成为一个问题,您可以查看nfs synchronization type通过做出改变
config.vm.synced_folder "/Users/fhenri/project/tac.local", "/project", type: "nfs"
应该会有所改善
关于macos - 将本地编辑器与 Vagrant 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32537027/