Note
Вы можете так же собрать Emscripten из исходников, если вы предпочитаете это бинарным сборкам из emsdk.
Note
Есть несколько дополнительных путей установки Emscripten, отличных от приведенных ниже. Например с использованием brew на MacOS, пакетного менеджера linux, или c помощью Docker. Тем не менее, emsdk единственный оффициально поддерживаем способ использования Emscripten, и только он подвережен постоянному тестированию ( emsdk CI, Emscripten GitHub CI, Chromium CI). (Пока мы оффициально не поддерживаем другие способы получения Emscripten, мы определенно благодарны сторонним разработчикам пакетов Emscripten и мы готовы помогать, пожалуйста будьте на связи если вы собираете пакет Emscripten!)
Прежде всего прочтите Платформо-зависимую информацию ниже и установите необходимые библиотеки.
Ядро Emscripten SDK (emsdk) это Python скрипт. Вы можете получить его с помощью
# Получить emsdk репозиторий git clone https://github.com/emscripten-core/emsdk.git # Перейти в директорию cd emsdk
Note
Вы так же можете получить emsdk не используя git, используя кнопку “Clone or download => Download ZIP” на странице emsdk GitHub.
Выполните следующие команды emsdk что бы загрузить последний инструментарий и установить его в качестве активного:
# Загрузить последнию версию emsdk (не нужно если вы только что склонировали репозиторий) git pull # Скачать и установить последний инструментарий SDK. ./emsdk install latest # Make the "latest" SDK "active" for the current user. (writes ~/.emscripten file) # Установить "последний" SDK как "активный" для текущего пользователя (записывает ~/.emscripten файл) ./emsdk activate latest # Активирует переменные окружения PATH и длруги для текущего теримнала source ./emsdk_env.shNote
На Windows, используйте
emsdk
вместо./emsdk
, иemsdk_env.bat
вместоsource ./emsdk_env.sh
.Note
git pull
загрузит текущий список версий, но самые свежие версии могут отствовать. Вы можете запустить./emsdk update-tags
что бы обновить список версий напрямую.
Если вы измените место нахождения SDK (например, возьмете с собой на другой компьютер на флэш накопителе), перезапустите команды ./emsdk activate latest
и source ./emsdk_env.sh
.
В инструкции выше, мы использовали emsdk для установки и активации latest
версии, которая является последней выпущенной версией. Чаще всего это то что вам нужно.
Однако, вы можете установить определенную версию указав её, например,
./emsdk install 1.38.45
Note
Когда устанавливаются версии выпущенные до выпуска актуальной системы сборки (версии старше 1.38.33
), необходимо испозовать ./emsdk install sdk-1.38.20-64bit
(добавьте sdk-
и -64bit
) таковы текущие соглашения по установке старых версий.
Вы можете выбирать между fastcomp
и upstream
реализацией (без явного указания будет использоваться реализация по умолчанию),
# Использовать upstream ./emsdk install latest-upstream # Использовать fastcomp ./emsdk install 1.38.45-fastcomp
Кроме того, можно использовать “tip-of-tree” сборку, которая основана на самом последнем коде который прошел интеграционные тесты Chromium CI. Она обновляется гораздо чаще чем выпуски версий, но может быть менее стабильной (версии выпускаются вручную и проверяются более тщательно). Такие сборки могут быть полезны при использовании непрерывной интеграции на базе emsdk (например, как Emscripten’s GitHub CI), Вы так же можете захотеть использовать их в Вашем CI, таким образом, если вы обнаружите регрессию в Вашем проекте, то Вы можете сообщить об этом остановив выпуск текущей версии. Возможно, Вы захотите использовать эту сборку что бы проверить новую функцию, которая только появилась и ещё не была выпущена. Что бы использовать сборку “tip-of-tree” укажите tot
в качестве цели,
# Получить tip-of-tree upstream сборку. ./emsdk install tot-upstream # Получить tip-of-tree fastcomp сборку. ./emsdk install tot-fastcomp
(В примере выше устанавливается множество вариантов сборок; не забудьте так же активировать (activate)
их, как в полном примере выше.)
Note
Вместо того что бы запускать emscripten напрямую в Windows, Вы можете использовать Windows Subsystem for Linux для запуска его в Linux окружении.
Если вы используете MacOS 10.13.3 или старше, тогда Ваша версия Python должна подойти (более старые версии могут не работать из за GitHub change with SSL). Иначе, установите Python 2.7.12 или новее.
Эти инструкции объясняют как установить все необходимые инструменты. Вы можете проверить есть ли уже установленные инструменты и пропустить соответствующие шаги.
- Установите Xcode из магазина приложений macOS.
- В Xcode | Preferences | Downloads, установите Command Line Tools.
- Убедитесь что ОС позволяет установить git.
- Установите Xcode и Xcode Command Line Tools (см. пункт выше). Таким образом git будет добавлен в PATH системы (см. stackoverflow).
- Скачайте и установите напрямую с http://git-scm.com/.
- Скачайте и установите последний CMake с Kitware CMake downloads.
Note
Emsdk не устанавливает новых инструментов в систему, и не взаимодествует с поакетными менеджерами Linux. Вместо этого все изменения происходя в директории emsdk/.
Python, CMake, и Java не предоставляются emsdk. Пользователь должен установить их самостоятельно с помощью пакетного менеджера системы:
# Установить Python
sudo apt-get install python2.7
# Установить CMake (не обязательно, необходимо для тестирования и сборки Binaryen)
sudo apt-get install cmake
# Установите Java (не обязательно, необходимо для использования Closure Compiler)
sudo apt-get install default-jre
Note
Вам нужен Python 2.7.12 или новее, потому что более старые весрии могут не работаь из за GitHub change with SSL).
Note
Если вы хотите использовать систменую весрию Node.js вместо версии из emsdk, то вам нужно задать NODE_JS
атрибут в файле ~/.emscripten
указывающим на системную версию.
Git не устанавливается автоматически. Git нужен только в случае если вы хотите использовать инструменты из разрабатываемых веток emscripten-incoming или emscripten-master:
# Установить git
sudo apt-get install git-core
Самый простой способ проверить установленную версию, - скомпилировать код с Emscripten.
Вы можете перейти в раздел Обучение, но если у вас возникнут какие-то проблемы или трудности, то следует запустить базовые тесты и прочесть решение проблем в Verifying the Emscripten Development Environment.
Tip
Устанавилвать SDK необходио единожды! После этого Вы можете обновлять версию SDK в любой момент:ref:Emscripten SDK (emsdk) <emsdk>.
Используйте следующие команды
# Получить реестр доступных инструментов.
./emsdk update
# Скачать и устновить последние инструменты SDK.
./emsdk install latest
# Установить конфигурацию компилятора на "latest" SDK.
./emsdk activate latest
# Изменить переменные окружения и PATH в текущем терминале.
source ./emsdk_env.sh
Пакетный менеджер может делать множество других задач от загрузки указанных старых версий, до установки инструментов из репозитория GitHub (или даже из вашего форка). Узнайте больше из раздела “How to” guides.
Если вы хотите удалить полностью SDK, просто удалите директорию его содержащею.
Так же можно удалить определенную утилиту в составе SDK.