Назад | Перейти на главную страницу

Выполняет ли эластичный beanstalk постинсталляцию из файла package.json?

Я использую эластичный beanstalk для развертывания приложения node.js. В моем scripts раздел package.json У меня есть:

  "scripts": {
    "start": "node_modules/.bin/coffee server.coffee",
    "test": "NODE_ENV=test node test/runner.js",
    "coverage": "NODE_ENV=test COVERAGE=1 node test/runner.js -R html-cov test/ > ./test/coverage.html",
    "testw": "fswatch -o test src | xargs -n1 -I{} sh -c 'coffeelint src server.coffee ; npm test'",
    "db:drop": "node scripts/drop-tables.js",
    "encryptConfig": "node_modules/.bin/coffee config/encrypt.coffee",
    "decryptConfig": "node_modules/.bin/coffee config/decrypt.coffee",
    "postinstall": "npm run decryptConfig"
  },

В npm install вроде работает. Но postinstall не выполняется. Это известная проблема? Если да, то как я могу что-то выполнить? npm install но прежде npm start?

Я тоже только что столкнулся с этой проблемой. Я обнаружил, что postinstall сценарий не запускался, но prestart бы. Мой выглядит так:

"scripts": {
    "start": "node index.js",
    "prestart": "node node_modules/webpack/bin/webpack.js"
}

Это теперь правильно связывает мой веб-пакет перед запуском сервера, когда я запускаю eb deploy локально.

Я думаю, вы имели в виду, что используете EB (Elastic Beanstalk) ELB в качестве балансировщика нагрузки. Elastic Beanstalk работает npm start по умолчанию для запуска вашего приложения. Я рекомендую вам упаковать модули вместе с приложением в процессе сборки.