WalletConnect / walletconnect-monorepo

WalletConnect Monorepo
Apache License 2.0
1.38k stars 683 forks source link

Error: Could not locate the bindings file #448

Closed AlexBHarley closed 3 years ago

AlexBHarley commented 3 years ago

Hey

I'm building using this library in a Next.js app and just the act of doing

import {Client} from '@walletconnect/client';

new Client();

breaks the build. Here's the output log

example: $ next build
example: info  - Creating an optimized production build...
example: warn  - Compiled with warnings
example: /Users/alex/celo/use-contractkit/node_modules/next/dist/next-server/server/load-components.js
example: Critical dependency: the request of a dependency is an expression
example: /Users/alex/celo/use-contractkit/node_modules/next/dist/next-server/server/load-components.js
example: Critical dependency: the request of a dependency is an expression
example: /Users/alex/celo/use-contractkit/node_modules/next/dist/next-server/server/require.js
example: Critical dependency: the request of a dependency is an expression
example: /Users/alex/celo/use-contractkit/node_modules/next/dist/next-server/server/require.js
example: Critical dependency: the request of a dependency is an expression
example: /Users/alex/celo/use-contractkit/node_modules/next/dist/next-server/server/require.js
example: Critical dependency: the request of a dependency is an expression
example: info  - Collecting page data...
example: Initialising linking
example: > Build error occurred
example: Error: Could not locate the bindings file. Tried:
example:  → /Users/alex/celo/use-contractkit/packages/example/build/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/build/Debug/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/build/Release/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/out/Debug/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/Debug/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/out/Release/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/Release/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/build/default/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/compiled/14.15.5/darwin/x64/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/addon-build/release/install-root/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/addon-build/debug/install-root/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/addon-build/default/install-root/better_sqlite3.node
example:  → /Users/alex/celo/use-contractkit/packages/example/lib/binding/node-v83-darwin-x64/better_sqlite3.node
example:     at bindings (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:189988:9)
example:     at Object.96yb (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:41064:32)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.NQQ0 (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:86626:18)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.3EHo (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:22634:42)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.yh6O (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:208794:35)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.t7wn (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:183680:51)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.6LKD (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:33636:18)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.q6k0 (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:177258:16)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.IXZr (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:68796:24)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.3A2d (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:21769:33)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.k3K3 (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:157720:15)
example:     at __webpack_require__ (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:23:31)
example:     at Object.Mesf (/Users/alex/celo/use-contractkit/packages/example/.next/serverless/pages/index.js:84438:14) {
example:   tries: [
example:     '/Users/alex/celo/use-contractkit/packages/example/build/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/build/Debug/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/build/Release/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/out/Debug/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/Debug/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/out/Release/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/Release/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/build/default/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/compiled/14.15.5/darwin/x64/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/addon-build/release/install-root/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/addon-build/debug/install-root/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/addon-build/default/install-root/better_sqlite3.node',
example:     '/Users/alex/celo/use-contractkit/packages/example/lib/binding/node-v83-darwin-x64/better_sqlite3.node'
example:   ]
example: }
example: error Command failed with exit code 1.
example: info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
lerna ERR! yarn run build exited 1 in 'example'
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
make: *** [build-demo] Error 1

Any ideas? I've tried with Node 12 and 14.

AlexBHarley commented 3 years ago

I believe this was due to Next.js building generating site on the server.

I changed WalletConnect to only be imported when used (so in the client) and the error went away.