Skip to content

Installing in a Ubuntu docker image #980

@vulkanosaure

Description

@vulkanosaure

Hi,

I'm trying to install uWebSockets.js on a vanilla Ubuntu docker image, in which I installed node
When running the container, I get the error

_Error: Cannot find module 'uWebSockets.js'

Require stack:

- /var/www/socket/main.js

    at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)

    at Module._load (node:internal/modules/cjs/loader:922:27)

    at Module.require (node:internal/modules/cjs/loader:1143:19)

    at require (node:internal/modules/cjs/helpers:119:18)

    at Object.<anonymous> (/var/www/socket/main.js:1:1)

    at Module._compile (node:internal/modules/cjs/loader:1256:14)

    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)

    at Module.load (node:internal/modules/cjs/loader:1119:32)

    at Module._load (node:internal/modules/cjs/loader:960:12)

    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12) {

  code: 'MODULE_NOT_FOUND',

  requireStack: [ '/var/www/socket/main.js' ]

}_


Here's my dockerfile

FROM ubuntu

WORKDIR /var/www/socket

#install node
RUN apt-get update
RUN apt-get install -y ca-certificates curl gnupg
RUN mkdir -p /etc/apt/keyrings
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN apt-get update
RUN apt-get install nodejs -y

#install curl + bun
RUN apt upgrade
RUN apt install curl
RUN apt install unzip
RUN curl -fsSL https://bun.sh/install | bash

#install uWebSockets
RUN ~/.bun/bin/bun install uNetworking/uWebSockets.js#v20.33.0

CMD ["node","main.js"]

During the creation process, i can see the message
installed uWebSockets.js@github:uNetworking/uWebSockets.js#c10b47c
Which seems to say that uWebSockets has been correctly installed

I'd went to the node_modules folder to confirm if the uWebSockets.js folder is there,
The command which node returns /usr/bin/node
and cd /usr/bin/node returns can't cd to /usr/bin/node
as if it's a problem of access right

The content of main.js is the same as the example in the readme.

Any idea of how to troubleshoot this ?
Thanks in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions