I am rebuilding a NestJS project that I could run in 8 months ago, with base on the Dockerfile below
FROM node:alpine as base
WORKDIR /usr/src/app
RUN apk add --no-cache ffmpeg
COPY package*.json ./
COPY yarn.lock ./
RUN yarn
COPY . .
RUN yarn build
EXPOSE 6666
CMD ["npm", "run-script", "start:beta"]
in the build stage, I meet the error Error util_1.isObject is not a function
. I have checked and there is no change related to "util".
My package.json file
{
"name": "rg-nest",
"version": "0.0.1",
"description": "",
"author": "",
"private": true,
"license": "UNLICENSED",
"scripts": {
"prebuild": "rimraf dist",
"build": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"start": "cross-env NODE_ENV=development nest start",
"start:dev": "cross-env NODE_ENV=development nest start --watch",
"start:debug": "cross-env NODE_ENV=development nest start --debug --watch",
"start:beta": "node dist/main",
"start:prod": "node dist/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
"test": "jest",
"test:watch": "jest --watch --verbose",
"test:normal": "jest --silent --runInBand --detectOpenHandles",
"test:cov": "jest --coverage --silent",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "jest --config ./test/jest-e2e.json",
"generate": "run() { nest g mo \"$1\" && nest g co \"$1\" && nest g s \"$1\"; }; run"
},
"dependencies": {
"@casl/ability": "^5.4.3",
"@ffmpeg-installer/ffmpeg": "^1.1.0",
"@google-cloud/translate": "^7.2.1",
"@nestjs/axios": "^1.0.0",
"@nestjs/bull": "^0.4.2",
"@nestjs/common": "^8.0.4",
"@nestjs/config": "^1.0.1",
"@nestjs/core": "^8.0.4",
"@nestjs/event-emitter": "^1.0.0",
"@nestjs/jwt": "^8.0.0",
"@nestjs/mongoose": "^8.0.0",
"@nestjs/passport": "^8.0.0",
"@nestjs/platform-express": "^8.0.4",
"@nestjs/platform-socket.io": "^8.1.2",
"@nestjs/schedule": "^1.0.2",
"@nestjs/serve-static": "^2.2.2",
"@nestjs/swagger": "^5.0.8",
"@nestjs/throttler": "^2.0.0",
"@nestjs/websockets": "^8.1.2",
"@sendgrid/mail": "^7.5.0",
"agenda": "^4.3.0",
"axios": "^0.24.0",
"bcrypt": "^5.0.1",
"bluebird": "^3.7.2",
"bull": "^4.2.0",
"cheerio": "^1.0.0-rc.10",
"class-transformer": "^0.4.0",
"class-validator": "^0.13.1",
"cookie-parser": "^1.4.5",
"csurf": "^1.11.0",
"csv-parser": "^3.0.0",
"exceljs": "^4.3.0",
"express": "^4.17.1",
"fluent-ffmpeg": "^2.1.2",
"form-data": "^4.0.0",
"fs-extra": "^11.3.0",
"geoip-lite": "^1.4.7",
"got": "10.2.0",
"helmet": "^4.6.0",
"http-proxy-middleware": "^2.0.3",
"http-status-codes": "^2.1.4",
"ical-generator": "^3.6.1",
"imap": "^0.8.19",
"imap-simple": "^5.1.0",
"iso-639-1": "^2.1.15",
"kurento-client": "^6.16.0",
"livekit-server-sdk": "^1.2.7",
"lodash": "^4.17.21",
"mail-notifier": "^0.5.0",
"mailparser": "^3.4.0",
"mammoth": "^1.6.0",
"moment": "^2.29.4",
"moment-timezone": "^0.5.34",
"mongoose": "^5.13.3",
"mongoose-paginate-v2": "^1.3.18",
"mongoose-unique-validator": "2.0.3",
"nanoid": "^3.1.23",
"nestjs-pino": "^2.2.0",
"node-schedule": "^2.1.0",
"nodemailer": "^6.7.2",
"passport": "^0.4.1",
"passport-custom": "^1.1.1",
"passport-jwt": "^4.0.0",
"passport-local": "^1.0.0",
"pino-http": "^5.7.0",
"pm2": "^5.1.2",
"pxl": "^0.0.4",
"pxl-for-emails": "^0.0.3",
"pxl-mongodb": "^0.0.7",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"rxjs": "^7.3.0",
"swagger-ui-express": "^4.1.6",
"typesense": "^1.0.2",
"ua-parser-js": "^1.0.35",
"validator": "^13.7.0",
"xmlrpc": "^1.3.2"
},
"devDependencies": {
"@nestjs/cli": "^7.6.0",
"@nestjs/schematics": "^7.3.0",
"@nestjs/testing": "^8.0.4",
"@types/bcrypt": "^5.0.0",
"@types/bull": "^3.15.7",
"@types/content-disposition": "^0.5.4",
"@types/cookie-parser": "^1.4.2",
"@types/cron": "^1.7.3",
"@types/express": "^4.17.12",
"@types/fluent-ffmpeg": "^2.1.20",
"@types/jest": "^26.0.22",
"@types/kurento-client": "^6.14.5",
"@types/lodash": "^4.14.171",
"@types/mail-notifier": "^0.5.0",
"@types/multer": "^1.4.7",
"@types/node": "^18.8.3",
"@types/nodemailer": "^6.4.4",
"@types/passport-jwt": "^3.0.6",
"@types/passport-local": "^1.0.34",
"@types/supertest": "^2.0.10",
"@types/useragent": "^2.3.1",
"@typescript-eslint/eslint-plugin": "^4.19.0",
"@typescript-eslint/parser": "^4.19.0",
"cross-env": "^7.0.3",
"eslint": "^7.22.0",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-prettier": "^3.3.1",
"install": "^0.13.0",
"jest": "^27.0.6",
"mongodb-memory-server": "^7.2.1",
"npm": "^8.19.2",
"prettier": "^2.2.1",
"supertest": "^6.1.3",
"ts-jest": "^27.0.4",
"ts-loader": "^8.0.18",
"ts-node": "^9.1.1",
"tsconfig-paths": "^3.9.0",
"typescript": "^4.3.5"
},
"config": {
"mongodbMemoryServer": {
"debug": "on",
"version": "4.4.7"
}
},
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"modulePaths": [
"<rootDir>"
],
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"collectCoverageFrom": [
"**/*.(t|j)s",
"!**/node_modules/**",
"!<rootDir>/common/constants/**",
"!<rootDir>/typings/**",
"!**/*.dto.(t|j)s",
"!main.(t|j)s"
],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
}
}
Could you help me to show why the error is happening, whether that is the mismatch of version of library in nodeJS
It seems there is a problem with the node version, Try to use
FROM node:20.9.0