Я пытаюсь упаковать свое приложение, которое использует 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" в другую папку.