---
id: installing
title: 'Installing'
slug: installing
---
### Install as package
You can install @supabase/supabase-js via the terminal.
```sh Terminal
npm install @supabase/supabase-js
```
```sh Terminal
yarn add @supabase/supabase-js
```
```sh Terminal
pnpm add @supabase/supabase-js
```
### Install via CDN
You can install @supabase/supabase-js via CDN links.
```js
//or
```
### Use at runtime in Deno
You can use supabase-js in the Deno runtime via [JSR](https://jsr.io/@supabase/supabase-js):
```ts
import { createClient } from 'npm:@supabase/supabase-js@2'
```
### Enable Data API access
supabase-js uses the Data API to query and mutate your Postgres data. You first need to grant Data API roles permissions to access your tables and functions.
In [Data API integrations settings](/dashboard/project/_/integrations/data_api/settings), expose the specific tables and functions you want to access. To automatically grant access for new tables and functions in `public`, enable **Default privileges for new entities**.
Alternatively, use SQL to grant the required permissions:
```sql
-- Before granting access to client roles, make sure RLS is enabled
-- and create the policies required for each role's allowed operations.
alter table public.your_table enable row level security;
-- create policy ... on public.your_table ...;
-- Grant least-privilege access to tables after RLS and policies are in place
grant select on public.your_table to anon;
grant select, insert, update, delete on public.your_table to authenticated;
grant all on public.your_table to service_role;
-- Grant execute on functions after verifying any table access they rely on
grant execute on function public.your_function to authenticated, service_role;
```