【问题标题】:Issues with meteor app on vagrant share流星应用程序关于 vagrant share 的问题
【发布时间】:2012-12-03 03:48:14
【问题描述】:

我有一个带有流星的 vagrant VM (virtualbox) 设置。我的主人和客人都是 Ubuntu。 VM 包含通过 Vagrantfile 设置的 vboxfs 共享文件夹。我注意到的行为类似于 NFS 挂载。

我可以在这个共享文件夹中创建一个流星项目,但是当我运行该项目时,我收到指向 mongodb 的错误。

如果我按照以下说明操作 https://github.com/pixelhandler/vagrant-dev-env/blob/master/README.md 我的应用运行良好。

经过进一步调查,似乎 MongoDB 不适用于 NFS 共享,http://www.mongodb.org/display/DOCS/NFS

还有其他人遇到过这个问题吗?如果是这样,您是否找到了(非 rsync)解决方案?

我打算把这个问题的链接发给10gen,也许他们团队的人可以回答。

【问题讨论】:

    标签: mongodb meteor nfs vagrant


    【解决方案1】:

    不确定 Mongo 计划在 NFS / vboxfs 上重新运行什么,但您可以通过在共享文件夹中运行您自己的 MongoDB 来解决这个问题(例如,使用 ubuntu mongodb 包)。使用MONGO_URL 环境变量告诉meteor 在哪里连接。如果你传递了这个变量,meteor 将不会尝试在 meteor 项目目录中启动 MongoDB。

    【讨论】:

    • 我还要注意,在 vagrant 中你不应该指定 PWD 或 HOME 环境变量,因为它也会导致错误。
    【解决方案2】:

    您可以将数据目录移动到 VM 内的某个位置,并使用 vagrant 文件夹中的符号链接:

    cd /vagrant/.meteor/local ln -s ~/db/

    这意味着数据不会被共享,但你可能希望它被 git 忽略。

    (https://grahamrhay.wordpress.com/2013/06/18/running-meteor-in-a-vagrant-virtualbox/)

    【讨论】:

    • MonoDB 数据只是存储在 .meteor/local 中吗?我见过安装整个 .meteor 文件夹的其他解决方案,但这会搞砸陨石。
    • 如果 /vagrant 是 NTFS,ln -s 表示 ln: failed to create symbolic link ‘./homedb’: Protocol error,尽管 mklink 可能是 ln 理解的 FS。
    【解决方案3】:

    grahamrhay 的解决方案不适用于在 Windows 上启动的 vagrant box。没有办法在 windows 上为 vagrant 创建符号链接,至少对于管理员帐户没有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多