Попытка разместить монорпо Лерна с Express бэкэндом + Vue веб-интерфейсом на Heroku. Компоненты содержатся внутри /packages/server
и /packages/frontend
соответственно. Намерение состоит в том, чтобы создать внешний интерфейс Vue во время развертывания и разместить его в виде содержимого c через Express.
. / Package. json
{
"name": "my_app",
"private": true,
"scripts": {
"bootstrap": "lerna bootstrap",
"start": "lerna run start --stream",
"postinstall": "npm run bootstrap",
"build": "lerna run build --stream"
},
"devDependencies": {
"lerna": "^3.20.2"
}
}
Моя сборка -phase терпит неудачу из-за
lerna notice cli v3.20.2
lerna info Executing command in 2 packages: "npm run build"
frontend: > frontend@0.1.0 build /tmp/build_c2cbb32af790fe0e5e4852ce2bcab8e0/packages/frontend
frontend: > vue-cli-service build
frontend: sh: 1: vue-cli-service: not found
frontend: npm ERR! code ELIFECYCLE
frontend: npm ERR! syscall spawn
frontend: npm ERR! file sh
frontend: npm ERR! errno ENOENT
frontend: npm ERR! frontend@0.1.0 build: `vue-cli-service build`
frontend: npm ERR! spawn ENOENT
Автономный репозиторий Vue не терпит неудачу в фазе сборки таким образом, поэтому, скорее всего, проблема связана с lerna bootstrap
или с тем, как Heroku строит вещи, но я не смог выяснить, в чем проблема.
Подобная настройка для create-реакции-приложения не дает сбоя, возможно, из-за того, что react-scripts
является регулярной зависимостью.
Есть ли какие-то ошибки, которые мне не хватает в Lerna и devDependencies, или это проблема с Vue?