Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

invalid ELF header #1048

Open
darkdiesel opened this issue Aug 30, 2024 · 6 comments
Open

invalid ELF header #1048

darkdiesel opened this issue Aug 30, 2024 · 6 comments

Comments

@darkdiesel
Copy link

darkdiesel commented Aug 30, 2024

Hello!

Before writing i searching the same issues but anyway not found a solution. :(

Used:
"bcrypt": "^5.1.1",
"@types/bcrypt": "^5.0.2",
"@nestjs/core": "^10.3.10",

Node tested,
node 20.17.0 (npm 10.8.2)
node 21.7.3 (npm 10.5.0)
node 22.5.1 (npm 10.8.3)

I used instruction from https://docs.nestjs.com/security/encryption-and-hashing site, but after starting dev or prod server i have an error:

    at Object.Module._extensions..node (node:internal/modules/cjs/loader:1586:18)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1104:12)
    at Module.require (node:internal/modules/cjs/loader:1311:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/var/www/api.admin-panel.loc/node_modules/bcrypt/bcrypt.js:6:16)
    at Module._compile (node:internal/modules/cjs/loader:1469:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1104:12)

full package.json

"dependencies": {
    "@fastify/static": "^7.0.4",
    "@nestjs-modules/mailer": "^2.0.2",
    "@nestjs/axios": "^3.0.2",
    "@nestjs/bull": "^10.1.1",
    "@nestjs/cache-manager": "^2.2.2",
    "@nestjs/common": "^10.3.10",
    "@nestjs/config": "^3.2.3",
    "@nestjs/core": "^10.3.10",
    "@nestjs/mapped-types": "*",
    "@nestjs/platform-express": "^10.3.10",
    "@nestjs/platform-fastify": "^10.3.10",
    "@nestjs/swagger": "^7.4.0",
    "axios": "^1.7.2",
    "bcrypt": "^5.1.1",
    "bull": "^4.15.1",
    "cache-manager": "^3.4.0",
    "cache-manager-redis-store": "^2.0.0",
    "class-transformer": "^0.5.1",
    "class-validator": "^0.14.1",
    "fastify": "^4.28.1",
    "mailgun.js": "^10.2.1",
    "mysql2": "^3.10.2",
    "node-mailjet": "^6.0.5",
    "nodemailer": "^6.9.14",
    "reflect-metadata": "^0.2.2",
    "rxjs": "^7.8.1"
  },
  "devDependencies": {
    "@nestjs/cli": "^10.4.1",
    "@nestjs/schematics": "^10.1.2",
    "@nestjs/testing": "^10.3.10",
    "@types/bcrypt": "^5.0.2",
    "@types/cache-manager-redis-store": "^2.0.4",
    "@types/express": "^4.17.21",
    "@types/jest": "^29.5.12",
    "@types/mysql": "^2.15.26",
    "@types/node": "^20.14.9",
    "@types/nodemailer": "^6.4.15",
    "@types/supertest": "^6.0.2",
    "@typescript-eslint/eslint-plugin": "^7.15.0",
    "@typescript-eslint/parser": "^7.15.0",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.1.3",
    "husky": "^9.0.11",
    "jest": "^29.7.0",
    "prettier": "^3.3.2",
    "source-map-support": "^0.5.21",
    "supertest": "^7.0.0",
    "ts-jest": "^29.1.5",
    "ts-loader": "^9.5.1",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.5.3"
  },
@recrsn
Copy link
Collaborator

recrsn commented Aug 30, 2024

This usually happens if bcrypt.node is of a different OS/Arch than it was originally installed it

Are you running docker or some remote development environment?

@veyselaksin
Copy link

veyselaksin commented Sep 2, 2024

If you are working on Docker, you should ignore node_modules, this will solve your problem. If you are working with docker-compose, you probably mounted your application from the host (your root directory) to the container. This replaced the node_modules on the host with the node_modules inside docker.

docker-compose.yaml example

version: '3.9'

services:
  api:
    build:
      context: .
      dockerfile: Dockerfile
      target: development
    ports:
      - "3000:3000"
    env_file:
      - .env
    volumes:
      - ./:/app
      - /app/node_modules

docker example

docker run -d \
  -p 3000:3000 \
  --env-file .env \
  -v $(pwd):/app \
  -v /app/node_modules \
  --name api \
  your_image_name

@darkdiesel
Copy link
Author

This usually happens if bcrypt.node is of a different OS/Arch than it was originally installed it

Are you running docker or some remote development environment?

Yes, using docker and sometimes vagrant with virtual box

@darkdiesel
Copy link
Author

If you are working on Docker, you should ignore node_modules, this will solve your problem. If you are working with docker-compose, you probably mounted your application from the host (your root directory) to the container. This replaced the node_modules on the host with the node_modules inside docker.

docker-compose.yaml example

version: '3.9'

services:
  api:
    build:
      context: .
      dockerfile: Dockerfile
      target: development
    ports:
      - "3000:3000"
    env_file:
      - .env
    volumes:
      - ./:/app
      - /app/node_modules

docker example

docker run -d \
  -p 3000:3000 \
  --env-file .env \
  -v $(pwd):/app \
  -v /app/node_modules \
  --name api \
  your_image_name

Thanks will try today your solution

@veyselaksin
Copy link

Did you solve the problem?

@darkdiesel
Copy link
Author

Thanks for helping me. For docker yes, but for vagrant still have an issue. Please, give some time and i will back with responce. Or maybe you have solution to solve for vagrant?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants