5528
Нет гайда установки для NativeScript на Manjaro и даже на Arch Linux
Друзья, у меня проблема, есть инструкция по установке NativeScript в Ubuntu. Использовать, которую обычным подходом смены sudo apt-get install на sudo pacman -S, не получится. Все это невозможно из-за ризницы в названиях некоторых команд, а так же пакетов, может даже что-то устанавливать и не нужно.
А сам я не знаю как точно можно эту инструкцию переконвертировать под Manjaro? Поэтому прошу того кто сможет это сделать, для того чтобы я потом не наделал ошибок.
А сам я не знаю как точно можно эту инструкцию переконвертировать под Manjaro? Поэтому прошу того кто сможет это сделать, для того чтобы я потом не наделал ошибок.
18 комментариев
Как вариант, можно попробовать по порядку ставить то что написано в инструкции по пунктам с использованием пакетов, имеющихся в репах и ауре или писать для некоторых PKGBUILD`ы.
итак:
1. Node.js ставим так
2. Пакеты lib32z1 lib32ncurses5 lib32bz2-1.0 libstdc++6:i386 скорее всего надо будет пересобирать с помощью PKGBUILD`a или с помощью утилитки debtap. хотя некоторые пакеты вроде бы просто называются немного иначе, например, осмелюсь предположить, что
lib32ncurses5 — это lib32-ncurses5-compat-libs, или по крайней мере содержит в себе необходимые библиотеки…
3. С g++ не уверен, но по-моему пакет base-devel содержит все необходимое(если кто разбирается, поправьте меня).
4. wiki.archlinux.org/index.php/java
5. yaourt android-studio
6. вроде нужно выполнить команду после установки android-studio
7. yaourt genymotion
8.
9. tns doctor
я могу в некоторых моментах ошибаться, но без метода проб и ошибок не выйдет, но по крайней мере вы можете попытаться и поделиться результатами.
При возникновении проблем пишите, возможно коллктивно получится создать мануал для Manjaro))
Удачи!
bash.org
1. Nodejs стоит 7x версия
2. Пакеты пока не устанавливал. Есть предположения, что они нужны для g++, поэтому пока не стал ставить.
3. g++ стоит.
4. По Java 8 даже пока не совсем понятно, какой пакет здесь нужно устанавливать, java-runtime-common или если искать в yaourt по jdk8, есть один пакет от Oracle denix-jdk8, или ещё что-то другое? Ведь как я понял нужна среда именно от Oracle для запуска приложений написанных на java. В Убунту за отвечал пакет oracle-java8-installer.
Дальше пока не иду, нужно сначала здесь разобраться.
1. ставите nodejs последней версии
2. extra/jdk8-openjdk и extra/jre8-openjdk
3. aur/android-sdk и aur/android-sdk-build-tools и aur/android-sdk-platform-tools
4. прописываем переменные среды в .bashrc (пути проверьте свои):
5. перелогиниваемся и sudo npm install nativescript -g
ну и vs code, куда без него :)
1. node — уже установлен.
2.
3.
4. Открыл файл .bashrc для редактирования находящейся по адресу "~/" и добавил туда в клнец эти строки.
5. Перезагрузил систему, и установил NativeScript.
6. Установил Genymotion
С начало yaourt мне предложил выбрать из списка один из пакетов я выбрал linux44-virtualbox-host-modules. Далее yaourt предложил мне продолжить установку genymotion.
7. После этого проел проверку tns doctor, он вроде ошибок не выявил.
Единственное меня немного напрягло вот это сообщение: "You need to have Android SDK 22 or later and the latest Android Support Repository installed on your system.". Но я его счел предупреждением, так там не было написано, что это ошибка.
Здесь пошили ошибки, но мне удалось их исправить
8. Попытался запустить genymotion. Он начал ругаться, что Virtualbox не установлен, перезагрузил систему. После чего он запустился.
9. Я залогинился, выбрал устройство и дал ему название «em», для того чтобы в консоли было потом легче набирать. После чего, для проверки запустил его и новая ошибка о том что виртуализация, отключена в биосе. Хотя я в биосе не чего не отключал. А на другой ос было все нормально.
Решил её путём настройки этого вертельного устройства, уменьшил потребление оперативной помети до 1000. Посмотрел чтобы использовалось только одно ядро процессора. Так как у меня всего только 2 ядра.
10. Все устройство Genymotion запостилось.
Здесь появилась ошибка, которую мне пока не удалось исправить
11. Теперь начал установить стартовое приложение на Genymotion. Для этого я создал основное приложение NativeScript.
Перешёл в папку MyApp и добавил платформу android.
Попробовал установить на виртуальное устройства Genymotion.
Установка прошла и под конец выдала ошибку, а на этот эмулятор не чего не установилось. После чего решил проверить установку другими способами.
Пробовал установить на телефон.
Пробовал установить на обычный эмулятор.
Везде поведение такое же. Вот главная строка из ошибки "Exception: The plugin tns-android@2.5.0 is already installed".
Теперь, те способы, которыми мне её исправить не удалось:
1) Обновить пакеты по требования Android sdk
2) Установить платформы. У меня эмулятор и телефон имеет на борту Android 4.4.4.
3) Перезагрузку ОС.
4) Удалить папку MyApp. И проделать все операции создания приложения, заново.
Попробуйте выполнить команду tns update в каталоге проекта и там посмотреть все ли хорошо, а потом выложить полный лог ошибок при запуске, будем искать ошибку.
Вот логи из консоли (нужно кликнуть для раскрытия):
1)
2)
1)
2. Проверьте, что у вас установлена adb и она работает. Можно выполнить команду «adb devices» с подключенным телефоном или запущенным эмулятором.
Отпишитесь по результатам, если не сложно.
2. При запущенном эмуляторе Genymotion.
sh-4.4$ adb devices
При подключено телефоне
sh-4.4$ adb devices
Похоже что скрипт запуска не может найти что-то, вот пока не пойму что ему нужно.
Как вариант, если эта команда тоже с ошибкой завершится, можно отписаться на официальный форум по NS…
Я посмотрел у них там на github, есть такая ошибка.
1-вая моя версия, по приоритету
Если суди по тамошнему материалу, я настроил не правильно эти переменные.
Я смотрел в интернете, есть много вариантов создания и вывода данных из этих переменных. Я даже ими пользовался, выводило пустой результат, для ANDROID_HOME и JAVA_HOME.
Но здесь у меня возник вопрос в том, что я не знаю толком bash и соответственно не могу гарантировать, что я получил правильный результат. Поэтому прошу вас указать на то, как правильно проверить работоспособность этих переменных.
Теперь 2-рая версия от ту даже
Нужно удалить tns-android зависимость из package.json. Для этого надо убрать одно свойства из подобъекта «dependencies: { }», под название ««tns-android»: "^2.5.0",» и ещё одну запись android, уже из другого подобъекта «nativescript: { }».
Но в подобъекте «dependencies: { }» есть только одно свойство ««id»: «org.nativescript.MyApp»». На всякий случай, я попробовал его полностью удалить.
После чего по инструкции очистил кеш NPM
Повторно установить платформу.
В результате этот способ у меня не прокатил. Начал жаловаться: "Package name must look like: com.company.Name", после ввоода команды tns platform add android. И из этого я понял, что нужно всё-таки ««id»: «здесь что-то указать»».
По ошибке почитал, действительно есть косяк разработчиков с релизом, обещают выпустить обновление на днях. Попробуйте создать новый проект и посмотреть, не уйдет ли ошибка
А если не убирать это свойство ««id»: «org.nativescript.MyApp»», то остается старая ошибка.
Возможно что-то, я не правильно понял (плохо понимаю английский), или редактировал package.json не в том месте, так я редактировал его именно в своем проекте MyApp. Поэтому есть предположения, что автор этого поста имел ввиду глобальный package.json, но не написал об этом потому-что это ему показалось и так очевидно. Если это так то мне нужно знать где его найти и не приведёт ли это к непредсказуемому поведению, в случаи ошибки?
Попробовал создать новый проект, ошибка не ушла.
А мне еще до этого пришлось все по удалять и обратно потом поставить, потому что я устанавливал через Аndroid sdk, вручную полагаясь на ту информацию, которую выводила, одна из первых ошибок. Из-за чего было сложно угадать, какой потек я еще не установил, а какой не нужен вообще.
Но радоваться рано! Потому-что пока, я смог установить пробное приложения, только на телефон. На эмулятор Genymotion, приложения устанавливается и при запуске выдает «ошибку приложения», а в консоли выдает вот это: "The system failed to delete the package for an unspecified reason.". Так устанавливать я побывал на нескольких разных образах Genymotion, на одном даже ошибки в консоли не было, а вот «ошибку приложения» выдавало всегда.
Кроме того, я так же узнал, что стандартный эмулятор у меня не установлен. А для полного гайда, это необходимо. Если не получилось заставит работать Genymotion, то хотя бы нужно, чтобы это работала на стандартном эмуляторе. Может быть найду способ как его установить. Но будет не плохо если вы мне подскажете как это сделать, быстрее чем я найду сам.
Все это я написал потому что не хочу чтобы вы зря не гадали, по моей старой проблеме. Сейчас я её решил, теперь появилась новая проблема, которую нужно решить.
В общем я так и сделал, но запустить его у меня не получилось! Выдаёт ошибку, которая свидетельствует о том, что у меня якобы системы 32 битная. Это не так, я точно знаю, что она 64 битная. Пробовал сделать смену образов CPU/ABI и платформы через android avd, но на эту ошибку, это не как ни влияет.
В интернете есть решения этой проблемы, но похоже оно подходит для тех кто все ещё использует 32 битную систему.
Но я все же решил его проверить у себя. В этом случаи смена обзоров CPU/ABI, а также платформы через android avd, стала влияет на описание ошибки, но эмулятор все равно не запускается.
Вот варианты таких ошибок с разными настройками эмулятора при помощи android avd (остальные настройки по умалчиванию).
1) Настройка эмулятора с помощью android avd:
Target: Android 5.0.1 - API Level 21
CPU/ABI: Google APIs ARM (amrmebi-v7a)
Ошибка:
2) Настройка эмулятора с помощью android avd:
Target: Android 5.0.1 - API Level 21
CPU/ABI: ARM (amrmebi-v7a)
Ошибка:
3) Настройка эмулятора с помощью android avd:
Target: Android 5.0.1 - API Level 21
CPU/ABI: Intel Atom (x86)
Ошибка:
4) Настройка эмулятора с помощью android avd:
Target: Android 5.0.1 - API Level 21
CPU/ABI: Intel Atom (x86_64)
Ошибка:
5) Настройка эмулятора с помощью android avd:
Target: Android 6.0 - API Level 23
CPU/ABI: Intel Atom (x86_64)
Ошибка:
6) Настройка эмулятора с помощью android avd:
Target: Android 6.0 - API Level 23
CPU/ABI: Google APIs ARM (amrmebi-v7a)
Ошибка:
Так же при запуске (не сразу заметил), есть одно предупреждение и одна ошибка.
Предупреждение: A repairable Android Virtual Device.
Ошибка: An Android Virtual Device that failed to load. Click 'Details' to see the error.
Попробовал найти эти ошибки. Нашел, что возможно это из-за того, что не установлен HAXM для процессора intel. Но проблема в том, что у мне процессор AMD.
В общем решил поискать что-то подобное для AMD. В итоге оказалось, нужен KVM, судя по одному из этих постов. С начало надо проверить установлен ли. К сожалению пока я не нашел как это проверить. И даже не знаю, как его установить, если он не установлен, надеюсь что вы подскажете, как это сделать?
Есть так же вероятность, что KVM не нужен, собственно для этого предоставил информацию о других моих попытках исправить эту проблему, ведь раньше баловался, устанавливал Android Studio на этом же компьютере, но на Кубунту и все работало. А чтобы что-то дополнительное для запуска стандартного Android эмулятора я не помню, чтобы ставил. Возможно какой-то установленный пакет был там по умалчиванию, а здесь его нужно до уставить и все заработает.