【发布时间】:2014-01-11 14:51:28
【问题描述】:
我希望在运行 Ubuntu 的虚拟机客户机中运行一个流星服务器以用于开发目的。该项目将位于主机上的一个文件夹中,该文件夹将共享给来宾(文件夹本身位于 Dropbox 文件夹中 - 这样我可以在多个虚拟机和工作站之间共享开发,但这不应该受到伤害),
我已经通过仅主机适配器和 NAT 在客户机上设置了网络,为方便起见,将 SSH 密钥输入到 putty + 客户机的 ip 在 windows etc/hosts 文件中,因此可以在 http://dev:3000 上本地访问服务器,这部分工作正常。
virtualbox 在 Windows 7 上运行,因此问题是 Meteor 无法启动,因为无法启动想要创建锁定文件的 Mongo(因为该文件必须位于 Windows 主机上,通过vboxfs)。
如果我将项目移动到其他文件夹,则无法再使用主机上的编辑器编辑文件。我尝试将.meteor/local 文件夹移出到 ext3 分区并使用符号链接进行连接,但由于无法创建锁定文件的相同原因,这不起作用。
那么,有人对如何设置有建议吗?
更新
我在 ubuntu 客户机中安装了 mongodb,但是当我尝试运行 meteor 时,启动失败了,因为流星似乎想在文件夹中创建符号链接:
/home/bbozo/.meteor/tools/09b63f1ed5/lib/node_modules/fibers/future.js:173
throw(ex);
^
Error: EROFS, read-only file system '/media/sf_Shared/Dropbox/dev_uhurajr/chat/.meteor/local/.build320446.build/programs/server/npm/logging/main/node_modules'
Plan B 将是 @user3185338 答案中的一些东西,这是一个可行的解决方法,但我有点希望有一个更优雅的替代方案来运行一个带有 x 秒延迟的 while 循环 screen
更新
有没有办法告诉meteor 移动它的.meteor 工作文件夹而不使用符号链接?也许通过在 ubuntu 中设置应用程序服务器,类似于 apache/nginx + 乘客?
【问题讨论】:
-
你试过Vagrant吗?
-
@bredikhin,我已经用它玩了一点,但是因为我已经准备好 Ubuntu 虚拟机来处理其他事情,所以我使用它。你知道是否有任何 Vagrant 虚拟机对我错过的虚拟机做了一些好事?
-
AFAIK,Vagrant 基本上可以完成您想要实现的一切:包含代码的共享文件夹、端口映射等。您唯一需要做的就是设置配置(使用 Chef 或 Puppet ) 以便在 VM 中安装必要的软件。这种方法的美妙之处在于您不必转移整个虚拟机,您只需将
Vagrantfile和一些食谱/食谱置于版本控制之下,仅此而已。之后,您只需使用一个命令vagrant up,就可以在任何新机器上重新创建您的环境。 -
我阅读了您的帖子,想知道在使用外部 mongoDb 后是否有解决 EROFS 错误的解决方案!?
标签: windows mongodb ubuntu meteor virtualbox