Это журнал ошибок

'.' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! cloudenly-hr-microservice@1.0.0 prestart: `sequelize db:migrate  && ./node_modules/.bin/sequelize db:seed:all`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the cloudenly-hr-microservice@1.0.0 prestart script.

Вот сценарий

    "lint": "eslint",
    "test": "export NODE_ENV=test && mocha --timeout 100000",
    "prestart": "./node_modules/.bin/sequelize db:migrate  && ./node_modules/.bin/sequelize db:seed:all",
    "start": "./node_modules/pm2/bin/pm2 start pm2server.config.js",
    "poststart": "./node_modules/pm2/bin/pm2 log HumanR" 
1
Yhomi 13 Фев 2021 в 16:09

2 ответа

Лучший ответ

Вы работаете в Windows, но пытаетесь запустить сценарий, разработанный для Linux (в нем есть разделители путей для Linux, что сбивает Windows с толку).

Внутри сценария npm вы можете ссылаться на локально установленные двоичные файлы пакетов по имени. Это устранит проблему с вашим путем.

    "test": "export NODE_ENV=test && mocha --timeout 100000",
    "prestart": "sequelize db:migrate  && sequelize db:seed:all",
    "start": "pm2 start pm2server.config.js",
    "poststart": "pm2 log HumanR" 

Вы также можете столкнуться с проблемой с командой export NODE_ENV=test. Для этого вам понадобится cross-env.

npm install --save-dev cross-env

Затем в package.json:

    "test": "cross-env NODE_ENV=test mocha --timeout 100000",
1
Codebling 13 Фев 2021 в 18:03

Существует ли папка .bin в "./node_modules/.bin/sequelize db:migrate && ./node_modules/.bin/sequelize db:seed:all"?

У меня в проекте есть нечто подобное, но я делаю так:

    "db:seed": "npm run _db -- db:seed:all",
    "db:create": "npm run _db -- db:create",
    "db:migrate": "npm run _db -- db:migrate",
    "db:init": "./scripts/create_and_seed_db.sh",
    "_db": "node ./node_modules/sequelize-cli/lib/sequelize",
0
Firmino Changani 13 Фев 2021 в 17:41