Проблемы с запуском Meteor в докере -> fiber.node отсутствует

Я пытаюсь запустить свой проект Meteor в контейнере докеров, но вижу следующую ошибку:

=> Starting app on port 3000...
## There is an issue with `node-fibers` ##
`/opt/meteor/dist/bundle/programs/server/node_modules/fibers/bin/linux-x64-57/fibers.node` is missing.

Try running this to fix the issue: /opt/nodejs/bin/node /opt/meteor/dist/bundle/programs/server/node_modules/fibers/build
/opt/meteor/dist/bundle/programs/server/node_modules/fibers/fibers.js:20
    throw new Error('Missing binary. See message above.');
    ^

Error: Missing binary. See message above.
    at Object.<anonymous> (/opt/meteor/dist/bundle/programs/server/node_modules/fibers/fibers.js:20:8)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)
    at Function.Module._load (module.js:489:3)
    at Module.require (module.js:579:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/opt/meteor/dist/bundle/programs/server/boot.js:1:75)
    at Module._compile (module.js:635:30)

Я не знаю, почему это происходит, я предполагаю, что это проблема с некоторыми пакетами, но я не знаю, как это исправить.

Я использую следующие пакеты:

},
  "devDependencies": {
    "@types/chai": "3.4.34",
    "@types/meteor": "^1.4.2",
    "@types/meteor-accounts-phone": "0.0.5",
    "@types/mocha": "2.2.34",
    "@types/underscore": "^1.8.1",
    "chai": "3.5.0",
    "chai-spies": "0.7.1",
    "meteor-node-stubs": "0.2.4",
    "node-sass": "^4.5.3",
    "raw-loader": "^0.5.1",
    "sass-loader": "^6.0.6"
  },
  "dependencies": {
    "@angular/animations": "^4.3.1",
    "@angular/common": "^2.4.1",
    "@angular/compiler": "^2.4.1",
    "@angular/compiler-cli": "^4.3.1",
    "@angular/core": "^2.4.10",
    "@angular/forms": "^2.4.1",
    "@angular/http": "^4.3.1",
    "@angular/platform-browser": "^2.4.1",
    "@angular/platform-browser-dynamic": "^2.4.1",
    "@angular/platform-server": "^4.3.1",
    "@angular/router": "3.4.1",
    "@angular/router-deprecated": "^2.0.0-rc.2",
    "@ionic/storage": "^2.0.1",
    "@types/lodash": "^4.14.72",
    "angular": "^1.6.5",
    "angular-date-value-accessor": "0.0.2",
    "angular-froala-wysiwyg": "^2.7.6",
    "angular2-meteor": "0.7.1",
    "angular2-meteor-polyfills": "^0.1.1",
    "angular2-meteor-tests-polyfills": "0.0.2",
    "babel-runtime": "^6.25.0",
    "bcrypt": "^1.0.3",
    "bootstrap": "^4.0.0-beta.2",
    "less": "^2.7.2",
    "lodash": "^4.17.4",
    "meteor-rxjs": "^0.4.7",
    "reflect-metadata": "^0.1.10",
    "rxjs": "^5.4.2",
    "zone.js": "^0.7.8"
  }

а также

meteor-base@~1.1.0             # Packages every Meteor app needs to have
mongo@~1.2.3                   # The database Meteor supports right now
[email protected]           # Reactive variable for tracker
[email protected]                 # Meteor's client-side reactive programming library

[email protected]   # CSS minifier run for production mode
standard-minifier-js@~2.1.2    # JS minifier run for production mode
[email protected]                # ECMAScript 5 compatibility for older browsers.

[email protected]                # Allow all DB writes from clients (for prototyping)
angular2-compilers
practicalmeteor:mocha
xolvio:cleaner
hwillson:stub-collections
dispatch:mocha-phantomjs
shell-server@~0.2.4
mys:fonts
[email protected]
[email protected]
generalledger:sleepforms

[email protected]
accounts-base@~1.3.4
accounts-password@~1.4.0
accounts-google
alanning:roles
erasaur:meteor-lodash
meteorhacks:aggregate
froala:editor
service-configuration

Я использую [email protected]

Как я могу диагностировать эту проблему?

Соответствуют ли версии node в среде docker версии node вашей установки Meteor 1.5.4.1? Если они не совпадают, у вас, скорее всего, будут ошибки с пакетами, которые необходимо создать в соответствии с архитектурой текущей среды узла.

Jankapunkt 13.04.2018 10:07

@Jankapunkt, я думаю, что нет, но я собираюсь это проверить. Кстати, я использовал это для докера: github.com/jshimko/meteor-launchpad мне нужно установить версию узла isntall script или обновить в моей системе?

xQp 13.04.2018 10:56

Это хороший вопрос, и он уже заслуживает отдельного вопроса здесь, о SO, потому что я не могу рассказать вам о плюсах и минусах того, чтобы DOCKER ENV соответствовал вашему локальному ENV и наоборот.

Jankapunkt 13.04.2018 10:59

Хорошо, я попробую найти решение, соответствующее узлу vesrion

xQp 13.04.2018 11:45

удалите bcrypt, затем попробуйте.

Abhishek Maurya 13.04.2018 13:15

не пробовали версию "удалить bcrypt", но установив версию узла из докера так же, как работала моя система;) но я тоже попробую второй способ

xQp 13.04.2018 13:49
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
6
473
1

Ответы 1

В моем случае у меня было другое:

  • версия node js в системе node --version
  • Node js версия метеора meteor node --version
  • не установить версию node js в докере

Как исправить:

  1. Установите версию узла так же, как в метеоре
nvm use `meteor node --version`

Рекомендую использовать nvm.

  1. Создайте launchpad.conf с NODE_VERSION, например:
APT_GET_INSTALL = "g++"

NODE_VERSION=12.18.4

и Dockerfile

FROM jshimko/meteor-launchpad:latest as build

Другие вопросы по теме