tursodatabase / libsql-client-ts

TypeScript/JavaScript client API for libSQL

Home Page:https://docs.turso.tech/sdk/ts/quickstart

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SST & Next.js 14 Error Cannot find module '@libsql/linux-arm64-gnu'

nadjitanMabuhayTech opened this issue · comments

When I deploy a Next.js 14 app using SST I get this error:

Error: Cannot find module '@libsql/linux-arm64-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/[locale]/(app-pages)/genai/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:1134:15)
    at /var/task/node_modules/next/dist/server/require-hook.js:55:36
    at Module._load (node:internal/modules/cjs/loader:975:27)
    at Module.require (node:internal/modules/cjs/loader:1225: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 Object.<anonymous> (/var/task/node_modules/libsql/index.js:42:5)
    at Module._compile (node:internal/modules/cjs/loader:1356:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
    at Module.load (node:internal/modules/cjs/loader:1197:32) {
  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/[locale]/(app-pages)/genai/page.js',
    '/var/task/node_modules/next/dist/server/require.js',
    '/var/task/node_modules/next/dist/server/next-server.js'
  ]
}

Am I supposed to include it in package.json?

I update my sst.config.ts and my deployment now works. The problem was that I needed to change my Lambda architecture and update the nodejs because previously it was using the default 18.x.

const site = new NextjsSite(stack, "site", {
  permissions: [bucket],
  bind: [bucket],
  cdk: { server: { architecture: Architecture.X86_64 } },
  runtime: "nodejs20.x"
})

@nadjitanMabuhayTech I am having the same problem and have the same stack. After adding your cdk options I get the same error (it cannot find the x86 pkg when on x86 and the same for amd64 when on it). I think it might be a version issue?

Below is my package.json and a link to the repo if you have any ideas:

{
	"name": "soar",
	"description": "Aviation prototyping and experimentation platform for hobbyists",
	"version": "1.0.0",
	"private": true,
	"scripts": {
		"dev": "sst bind next dev",
		"build": "next build",
		"start": "next start",
		"lint": "next lint",
		"db:generate": "drizzle-kit generate:sqlite",
		"db:migrate": "tsx src/lib/db/migrate.ts",
		"db:drop": "drizzle-kit drop",
		"db:pull": "drizzle-kit introspect:sqlite",
		"db:push": "drizzle-kit push:sqlite",
		"db:studio": "drizzle-kit studio",
		"db:check": "drizzle-kit check:sqlite"
	},
	"dependencies": {
		"@libsql/client": "^0.3.0",
		"@lucia-auth/adapter-sqlite": "^2.0.1",
		"@radix-ui/react-avatar": "^1.0.4",
		"@radix-ui/react-dropdown-menu": "^2.0.6",
		"@radix-ui/react-label": "^2.0.2",
		"@radix-ui/react-slot": "^1.0.2",
		"@t3-oss/env-nextjs": "^0.9.2",
		"class-variance-authority": "^0.7.0",
		"clsx": "^2.1.0",
		"drizzle-orm": "^0.30.2",
		"drizzle-zod": "^0.5.1",
		"lucia": "^2.7.7",
		"lucide-react": "^0.358.0",
		"nanoid": "^5.0.6",
		"next": "14.1.3",
		"next-themes": "^0.3.0",
		"react": "^18",
		"react-dom": "^18",
		"sonner": "^1.4.3",
		"tailwind-merge": "^2.2.2",
		"tailwindcss-animate": "^1.0.7",
		"zod": "^3.22.4",
		"@aws-sdk/s3-request-presigner": "^3.533.0",
		"@hookform/resolvers": "^3.3.4",
		"@radix-ui/react-dialog": "^1.0.5",
		"@radix-ui/react-popover": "^1.0.7",
		"@radix-ui/react-select": "^2.0.0",
		"@tanstack/react-query": "^4.32.6",
		"@trpc/client": "^10.37.1",
		"@trpc/next": "^10.37.1",
		"@trpc/react-query": "^10.37.1",
		"@trpc/server": "^10.37.1",
		"date-fns": "^3.3.1",
		"libsql": "^0.3.10",
		"react-day-picker": "^8.10.0",
		"react-hook-form": "^7.50.1",
		"resend": "^3.1.0",
		"server-only": "^0.0.1",
		"sharp": "^0.33.2",
		"superjson": "^2.2.1"
	},
	"devDependencies": {
		"@tsconfig/node18": "^18.2.1",
		"@types/node": "^20",
		"@types/react": "^18",
		"@types/react-dom": "^18",
		"autoprefixer": "^10.0.1",
		"aws-cdk-lib": "2.132.1",
		"constructs": "10.3.0",
		"dotenv": "^16.4.5",
		"drizzle-kit": "^0.20.14",
		"eslint": "^8",
		"eslint-config-next": "14.1.3",
		"postcss": "^8",
		"sst": "^2.41.2",
		"tailwindcss": "^3.3.0",
		"tsx": "^4.7.1",
		"typescript": "^5"
	}
}