Подтвердить что ты не робот

Невозможно создать рабочий проект meteor.js на бродячем боксе

Я не могу запустить новое приложение Meteor на брандмауэре linux box (работает на Mac). Он терпит неудачу каждый раз "неопределенным невольным исключением" в Монго. Я пробовал кучу вещей, чтобы добиться этого, но даже с самой простой настройкой я не могу запустить проект. Я был бы признателен за любые предложения.

Мои шаги:

  • создайте полностью чистую коробку Vagrant ( "ubuntu/trusty64" );
  • установите Meteor в новом окне (curl https://install.meteor.com/ | sh);
  • выберите место для создания проекта;
  • создать новый проект Meteor (meteor create app);
  • запустите проект (cd app; meteor)

Я знаю, что разрешения на общую папку с бродягой являются причудливыми, поэтому для шага № 3 выше я попытался поставить проект:

  • в общей гостевой/главной папке, /vagrant,
  • в подкаталоге домашней папки Vagrant (/home/vagrant),
  • в подкаталоге / (с разрешениями, установленными на vagrant:vagrant), и
  • в подкаталоге / с разрешениями, установленными на 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.

Я не могу сказать, является ли это проблемой бродяг (хотя я думаю, что нет, учитывая то, что я пробовал) или вопрос о метеор, но я подозреваю, что это Meteor (или одна из его многих зависимостей). Я сомневаюсь, что это проблема с разрешениями, поскольку она не удалась при запуске с правами root. Я попытался построить метеорит с нуля, и сборка завершилась неудачно, и я попытался создать проект с помощью --release 0.9.0 и --release 0.9.2-rc1, и загрузка просто была уничтожена без объяснений.

4b9b3361

Ответ 1

(1) После шага 2 установите Meteor в новом окне (curl https://install.meteor.com/ | sh) '

user$ cd /vagrant
user:/vagrant$ meteor create myApp

Вы должны увидеть папку myApp на вашем компьютере Mac (одна и та же папка для vagrantfile)

(2) Внутри папки myApp вы увидите папку .meteor по умолчанию, создайте папку с именем local, если она отсутствует

user:/vagrant$ cd myApp/.meteor
user:/vagrant/myApp/.meteor$ mkdir local

(3) Создайте ту же структуру папок в /home/vagrant

user:/vagrant/myApp/.meteor$ cd ~
~$mkdir -p myApp/.meteor/local

(4) Свяжите или установите /vagrant/myApp/.meteor/local в/home/vagrant/myApp/.meteor/local

sudo mount --bind /home/vagrant/myApp/.meteor/local/ /vagrant/myApp/.meteor/local/

или сделать его постоянно

echo "sudo mount --bind /home/vagrant/myApp/.meteor/local/ /vagrant/myApp/.meteor/local/" >> ~/.bashrc && source ~/.bashrc

(5) Теперь вы можете запустить метеор

~$cd /vagrant/myApp
user:/vagrant/myApp$meteor

Причина, по которой я монтирую локальную папку, а не папку <.meteor > , заключается в том, что вы все равно можете редактировать файлы, находящиеся внутри папки <.meteor > на вашем компьютере Mac. Вы можете заменить myApp любым желаемым именем

Надеемся на эту помощь

Ответ 2

Я работаю с хостом Windows, но, возможно, это применимо и к вашей ситуации.

Единственная папка, которая вызывает проблему, - ./meteor/local. Если вы перемещаете это с символической ссылкой, находящейся за пределами общей папки /vagrant, вы должны иметь возможность запускать приложение meteor в порядке.

Но для размещения символической ссылки в общей папке вам нужно включить символические ссылки в VM..., которая требует запуска Vagrant в качестве администратора.

Я собрал Vagrantfile с некоторыми скриптами и инструкциями здесь:

https://github.com/ElectronVector/vagrant-meteor

Ответ 3

Я столкнулся с подобными проблемами, пытаясь запустить метеор на окнах. Кажется, что mongodb не умеет писать в папке /vagrant. Я решил это, выполнив

sudo mount --bind/home/vagrant/meteorapp/.meteor//vagrant/meteorapp/.meteor/

(получил это от https://gist.github.com/gabrielhpugliese/5855677)

Ответ 4

Вот ответ , который решил мою проблему. Запуск проекта meteor из общей папки на виртуальной машине VMware Debian (работает в Windows).

Проблема заключается в том, что mongodb не может создавать файлы данных внутри общей папки, поэтому в этом случае просто используйте существующий mongodb для проекта meteor:

export MONGO_URL=mongodb://localhost:27017/your_db

Ответ 5

Выполнение

vagrant reload --provision

решил мою проблему. Я думаю, что причиной могут быть некоторые файлы, которые были повреждены или удалены.