Home » Установка среды выполнения Deno JavaScript на Ubuntu 24
Установка среды выполнения Deno JavaScript на Ubuntu 24

Установка среды выполнения Deno JavaScript на Ubuntu 24

Всё чаще вижу вопросы: «А как быстро поднять современную, безопасную и лёгкую среду для запуска JavaScript вне браузера, но не с Node.js?» Вот тут и появляется Deno — свежий, минималистичный рантайм, который уже успел наделать шума в комьюнити. В этой статье разберёмся, как поставить Deno на Ubuntu 24, почему это может быть круче привычного Node, и как реально использовать его на сервере. Будет много практики, команд, лайфхаков и немного сравнений с привычными решениями. Погнали!

Как это работает? Deno vs Node.js

Deno — это современная среда выполнения JavaScript и TypeScript, созданная Райаном Далем (да, тем самым, кто сделал Node.js). Главные фишки:

  • Безопасность “из коробки” (sandbox, доступ к файловой системе и сети только по разрешению)
  • Поддержка TypeScript прямо из коробки, без танцев с ts-node
  • Модульная система через URL, а не через npm
  • Минимум зависимостей, всё в одном бинарнике

Короче, если хочется современный подход к JS/TS на сервере — Deno стоит попробовать. Особенно если вы любите чистоту, безопасность и не хотите возиться с legacy-пакетами.

Критерий Deno Node.js
TypeScript Встроен Через ts-node или babel
Безопасность Sandbox по умолчанию Полный доступ к системе
Пакеты Импорт по URL npm registry
Менеджер пакетов Не нужен npm/yarn/pnpm

Установка Deno на Ubuntu 24: пошагово

Всё делается буквально за пару минут. Есть несколько способов — через скрипт, через пакетный менеджер или руками. Покажу оба варианта, но для продакшена советую второй.

1. Быстрая установка через скрипт (официальный способ)


curl -fsSL https://deno.land/install.sh | sh

После этого добавьте Deno в PATH (если не добавился автоматически):


echo 'export DENO_INSTALL="$HOME/.deno"' >> ~/.bashrc
echo 'export PATH="$DENO_INSTALL/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2. Установка через apt (через deno.land/manual)

На момент написания официального пакета для Ubuntu 24 ещё нет, но можно пойти через релизы GitHub:


curl -LO https://github.com/denoland/deno/releases/latest/download/deno-x86_64-unknown-linux-gnu.zip
unzip deno-x86_64-unknown-linux-gnu.zip
sudo mv deno /usr/local/bin/
deno --version

Всё, теперь Deno работает глобально.

Примеры использования: hello world, сервер, автоматизация

  • Простейший скрипт:

// hello.ts
console.log("Hello from Deno!");

deno run hello.ts
  • Минимальный HTTP сервер:

// server.ts
import { serve } from "https://deno.land/std@0.224.0/http/server.ts";
serve((_req) => new Response("Hello Deno HTTP!"), { port: 8000 });

deno run --allow-net server.ts

Обратите внимание: --allow-net даёт доступ к сети. Без этого сервер не стартует — безопасность!

  • Автоматизация и запуск bash-команд:

// run_cmd.ts
const p = Deno.run({
  cmd: ["ls", "-la"],
  stdout: "piped"
});
const output = await p.output();
console.log(new TextDecoder().decode(output));

deno run --allow-run run_cmd.ts

Положительные и отрицательные кейсы (и советы)

Кейс Плюсы Минусы Рекомендации
API сервер на Deno Минимум зависимостей, безопасность Мало готовых middleware Использовать std/http или Oak
CLI-утилиты TypeScript out of the box, один бинарник Нет npm-пакетов Импортировать модули по URL, использовать Deno Deploy
Скрипты автоматизации Безопасность, простота Не все node-модули доступны Писать свои модули, использовать std

Похожие решения и сравнение

  • Node.js — стандарт де-факто, огромная экосистема, но меньше безопасности и больше legacy
  • Bun — быстрый альтернативный рантайм, поддерживает npm, но менее стабилен
  • GraalVM — если хочется запускать JS на JVM, но это уже совсем другая лига

Интересные факты и нестандартные применения

  • Deno можно запускать прямо из браузера (Deno Play) — удобно для тестов и обучения
  • Можно запускать Deno-скрипты как cron-задачи для автоматизации серверов
  • Есть поддержка WASM и FFI — можно вызывать нативные библиотеки
  • Легко деплоится на edge-платформах — например, Deno Deploy

Новые возможности для автоматизации и скриптов

  • Писать сложные автоматизации на TypeScript без лишних зависимостей
  • Быстро поднимать микросервисы без лишнего npm install
  • Безопасно запускать сторонние скрипты (sandbox + разрешения)
  • Интегрировать с CI/CD (например, для проверки кода или генерации отчётов)

Выводы и рекомендации

Deno — отличный выбор для тех, кто хочет свежий взгляд на серверный JavaScript, безопасность и минимализм. На Ubuntu 24 он ставится за пару минут, работает быстро и не требует возни с пакетами. Советую попробовать для автоматизации, написания CLI-утилит, микросервисов и даже для обучения современному JS/TS. Если нужен VPS или выделенный сервер для экспериментов с Deno — VPS тут, dedicated тут. Экспериментируйте, пишите свои скрипты безопасно и современно!

Официальные ресурсы:


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked