tursodatabase / tursodatabase/libsql

cannot find libsql module with nextjs + sst

Open
#1,436 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
17.2k
Forks
531
Avg merge
1h 12m
Merged PRs (30d)
1

Description

libsql is not working with nextjs + sst:

versions:
"sst": "^2.43.0",
"@libsql/client": "^0.6.2",

found out this issue with similar problem: https://github.com/tursodatabase/libsql-client-ts/issues/186

the fix is not working for me:

import { Architecture } from "aws-cdk-lib/aws-lambda"
import { SSTConfig } from "sst"
import { NextjsSite } from "sst/constructs"

import { serverEnv } from "./src/serverEnv.mjs"

export default {
  config(_input) {
    return {
      name: "semnome027",
      region: "us-east-1",
      profile: "app-qa",
    }
  },
  stacks(app) {
    app.stack(function Site({ stack }) {
      const site = new NextjsSite(stack, "site", {
        cdk: { server: { architecture: Architecture.X86_64 } },
        runtime: "nodejs20.x",
        environment: {
          AWS_COGNITO_USERPOOL_CLIENT_ID:
            serverEnv.AWS_COGNITO_USERPOOL_CLIENT_ID,
          AWS_COGNITO_USERPOOL_ID: serverEnv.AWS_COGNITO_USERPOOL_ID,
          TURSO_DATABASE_URL: serverEnv.TURSO_DATABASE_URL,
          TURSO_DATABASE_TOKEN: serverEnv.TURSO_DATABASE_TOKEN,
        },
      })

      stack.addOutputs({
        SiteUrl: site.url,
      })
    })
  },
} satisfies SSTConfig

Cannot find module '@libsql/linux-x64-gnu' Require stack: - /var/task/node_modules/libsql/index.js - /var/task/node_modules/@libsql/client/lib-cjs/sqlite3.js - /var/task/node_modules/@libsql/client/lib-cjs/node.js - /var/task/.next/server/app/page.js - /var/task/node_modules/next/dist/server/require.js - /var/task/node_modules/next/dist/server/next-server.js
Error: Cannot find module '@libsql/linux-x64-gnu'
Require stack:
- /var/task/node_modules/libsql/index.js
- /var/task/node_modules/@libsql/client/lib-cjs/sqlite3.js
- /var/task/node_modules/@libsql/client/lib-cjs/node.js
- /var/task/.next/server/app/_not-found/page.js
- /var/task/node_modules/next/dist/server/require.js
- /var/task/node_modules/next/dist/server/next-server.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1140:15)
    at /var/task/node_modules/next/dist/server/require-hook.js:55:36
    at Module._load (node:internal/modules/cjs/loader:981:27)
    at Module.require (node:internal/modules/cjs/loader:1231:19)
    at mod.require (/var/task/node_modules/next/dist/server/require-hook.js:65:28)
    at require (node:internal/modules/helpers:177:18)
    at requireNative (/var/task/node_modules/libsql/index.js:22:10)
    at Object.<anonymous> (/var/task/node_modules/libsql/index.js:42:5)
    at Module._compile (node:internal/modules/cjs/loader:1364:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1422:10) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/var/task/node_modules/libsql/index.js',
    '/var/task/node_modules/@libsql/client/lib-cjs/sqlite3.js',
    '/var/task/node_modules/@libsql/client/lib-cjs/node.js',
    '/var/task/.next/server/app/_not-found/page.js',
    '/var/task/node_modules/next/dist/server/require.js',
    '/var/task/node_modules/next/dist/server/next-server.js'
  ],
  digest: '520410250'
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with libsql/index.js and @libsql/client/lib-cjs/sqlite3.js, then inspect how the SST NextjsSite deployment packages node_modules for the listed versions and x86_64 runtime. Reproduce the deployment and verify the deployed app can resolve @libsql/linux-x64-gnu; completion means the reported module error no longer occurs.

Written by the indexing model from the issue text.

Assessment

Tech stack
nextjs, nodejs
Domain
cloud, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.