无法在流浪盒上创建工作的meteor.js项目

And*_*rew 12 mongodb vagrant meteor

我无法在Vagrant linux机器上启动新的Meteor应用程序(在Mac上运行).每次在Mongo中出现"未指定的未捕获异常"时它都会失败.我已经尝试了很多东西来实现这一目标,但即使使用最简单的设置,我也无法让项目运行.我会很感激任何建议.

我的步骤是:

  1. 创建一个完全干净的Vagrant框("ubuntu/trusty64");
  2. 在新盒子上安装Meteor(curl https://install.meteor.com/ | sh);
  3. 选择一个位置来创建项目;
  4. 创建一个新的Meteor项目(meteor create app);
  5. 启动项目(cd app; meteor)

我知道vagrant共享文件夹的权限很古怪,所以对于上面的第3步,我尝试了放置项目:

  1. 在共享的guest/host文件夹中/vagrant,
  2. 在Vagrant主文件夹(/home/vagrant)的子目录中,
  3. /(权限设置为vagrant:vagrant)的子目录中,和
  4. /权限设置为的子目录中,root:root使用sudo meteor create app和运行创建的项目sudo meteor

在所有情况下,我都看到了这个错误:

=> Started proxy.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Unexpected mongo exit code 100. Restarting.
Can't start Mongo server.
MongoDB had an unspecified uncaught exception.
This can be caused by MongoDB being unable to write to a local database.
Check that you have permissions to write to .meteor/local. MongoDB does
not support filesystems like NFS that do not allow file locking.
Run Code Online (Sandbox Code Playgroud)

我不知道这是否是一个流浪者问题(虽然我认为不是,考虑到我已经尝试过的)或Meteor问题,但我怀疑它是Meteor(或其众多依赖项之一).我怀疑这是一个权限问题,因为它以root身份运行时失败了.我尝试从头开始构建流星,构建失败,我尝试用--release 0.9.0和创建项目,并且--release 0.9.2-rc1下载被简单地杀死而没有解释.

Gre*_*een 33

(1)在第2步之后'在新盒子上安装Meteor(curl https://install.meteor.com/ | sh)'

user$ cd /vagrant
user:/vagrant$ meteor create myApp
Run Code Online (Sandbox Code Playgroud)

您应该在Mac主机上看到myApp文件夹(vagrantfile的文件夹相同)

(2)在myApp文件夹里面,你会看到默认的.meteor文件夹,如果没有那个,请创建一个名为local的文件夹

user:/vagrant$ cd myApp/.meteor
user:/vagrant/myApp/.meteor$ mkdir local
Run Code Online (Sandbox Code Playgroud)

(3)在/ home/vagrant中创建相同的文件夹结构

user:/vagrant/myApp/.meteor$ cd ~
~$mkdir -p myApp/.meteor/local
Run Code Online (Sandbox Code Playgroud)

(4)将/vagrant/myApp/.meteor/local链接或挂载到/home/vagrant/myApp/.meteor/local

sudo mount --bind /home/vagrant/myApp/.meteor/local/ /vagrant/myApp/.meteor/local/
Run Code Online (Sandbox Code Playgroud)

或永久地

echo “sudo mount --bind /home/vagrant/myApp/.meteor/local/ /vagrant/myApp/.meteor/local/” >> ~/.bashrc && source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

(5)现在你可以启动流星了

~$cd /vagrant/myApp
user:/vagrant/myApp$meteor
Run Code Online (Sandbox Code Playgroud)

我挂载本地文件夹而不是<.meteor>文件夹的原因是您仍然可以编辑Mac主机上<.meteor>文件夹中的文件.您可以使用您想要的任何名称替换myApp

希望这有帮助