'sequelize' не распознается как внутренняя или внешняя команда с модулем Node PKG - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь упаковать свое приложение, которое использует sqlite и sequelize.Мой пакет json имеет вид:

"dependencies": { "@types/bluebird": "^3.5.26", "@types/libxmljs": "^0.18.3", "@types/node": "^11.12.1", "@types/restify": "^7.2.9", "@types/restify-errors": "^4.3.3", "@types/uuid": "^3.4.4", "@types/validator": "^10.11.0", "@types/ws": "^6.0.1", "better-queue": "^3.8.10", "data-store": "^3.1.0", "libxmljs": "^0.19.5", "pkg": "^4.3.7", "restify": "^8.2.0", "sequelize": "^5.8.7", "sequelize-cli": "^5.4.0", "sqlite3": "^4.0.8", "typescript": "^3.3.4000", "uuid": "^3.3.2", "winston": "^3.2.1", "ws": "^6.2.1", "yamljs": "^0.3.0" }, "pkg": { "assets": [], "scripts": [ "build/*.js", "build/routes/*.js", "build/**/*.js", "node_modules/sequelize/*.js", "node_modules/sequelize/**/*.js", "node_modules/sqlite3/lib/*.js", "node_modules/sqlite3/*.js*", "node_modules/node-pre-gyp/lib/*.js", "node_modules/node-pre-gyp/lib/util/*.js*" ] }, "bin": "build/main.js",

А мой Main.js:

function initializeDB() {
// Return new promise 
return new Promise(function (resolve, reject) {
    // Do async job
    console.log("returning promise");
    resolve(1);
})

}

initializeDB()
// Perform DB migrations and seeders
.then(() => {
    console.log("sequelize db:migrate");
    // Require dbconfig so that the correct .env file is picked up before we try and update any databases and cached.
    return exec.execSync("echo 'pooja' && sequelize db:migrate", { stdio: 'inherit' })
})
// Start Server
.then(() => {
    console.log("Staring server");
    require('./server.js')
})
.catch((err) => {
    console.log('Error: ' + err)
    process.exit(1)
})

Кроме того, команда, которую я использую для упаковки приложения:

pkg . --targets latest-win-x64

Это генерирует мой app.exe в той же папке, и я могу запустить.Когда я копирую свой exe в другую папку, я получаю сообщение об ошибке:

E:\SOME_OTHER_DIR>APP.exe returning promise sequelize db:migrate 
'sequelize' is not recognized as an internal or external command, operable program or batch file. 
Error: Error: Command failed: sequelize db:migrate

Пожалуйста, дайте мне знать, как заставить app.exe работать с sqlite и sequelize.Я также попытался скопировать "node_sqlite3.node" в другую папку.

...