macos - 将本地编辑器与 Vagrant 一起使用

标签 macos vagrant gulp sftp atom-editor

我通常使用原子编辑器进行任何编码工作,并在我的计算机上有包含代码的文件夹。在我的 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 个环境中。

当您使用gulpgrunt时,您可以从虚拟机启动它们,处理同步文件夹以及您所做的所有更改将从 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/

相关文章:

ruby-on-rails - gem install libv8 -v '5.3.332.38.1' ... 安装 libv8 : ERROR: Failed to build gem native extension 时出错

vagrant - 使用 Vagrant 时如何在 Windows 和 Linux 之间共享同一个虚拟机?

javascript - 咕噜声/咕噜声 : Concatenate only necessary JS files?

macos - OSX El Capitan-禁止使用Apache 403

macos - 在 OS X 应用程序中嵌入推荐代码的创意解决方案

ubuntu - Vagrant up 无法在云图像上启动网络接口(interface)

css - 对 CSS 和 SASS 文件进行 Gulp 自定义验证

javascript - gulp imagemin 打破 SVG 蒙版

xcode - 如何在 xcode4 中安装 .provisionprofile 和代码签名 mac 应用程序

vagrant - 尝试 vagrant up 时出错