Предупреждение: это может быть очень острым.Но позвольте мне помочь вам сориентироваться ...
NativeScript имеет несколько взаимосвязанных пакетов.
- CLI (npm i -g nativescript)
- Базовые модули (npm i tns-core-modules --save)
- Среды выполнения android или ios(tns platform add ios)
Более новые среды выполнения могут зависеть от функций в основных модулях;поэтому, возможно, вам придется убедиться, что у вас есть обновленные модули ядра, если вы обновляете свои среды выполнения.Это не всегда нужно;Я часто проверяю только одну из трех вещей одновременно;но иногда вам нужно обновить все, чтобы оно работало.
Простые инструкции:
npm i -g nativescript@rc
npm i tns-core-modules@rc --save
tns platform remove android
tns platform add android@rc
tns platform remove ios
tns platform add ios@rc
Информативные инструкции:
CLI может сильно зависеть от того, какую версию среды выполнения вы планируете использовать.Например, текущая версия 4.x не может больше работать со старыми проектами 2.x.Тем не менее, он продолжает работать с недавними 3.x проектами.И наоборот;2.x CLI не будет правильно собирать проекты 4.x.Таким образом, вам гораздо безопаснее использовать ту же основную версию CLI, что и среды выполнения, которые вы планируете использовать.(Обычно вы используете самые последние версии релизов; но если у вас есть существующие проекты, которые не были обновлены, у вас могут остаться проекты 2.x)
В NativeScript есть три тега версий в зависимости от того, что вы хотите.
Стандартная общедоступная версия @LATEST (т. Е. npm i -g nativescript@latest
) предоставит вам самую последнюю версию .Обычно npm i -g nativescript
эквивалентно @latest;но в случае основных модулей он будет использовать версию в файле package.json.Так что если вы хотите установить последнюю версию;безопаснее использовать @latest
, чтобы убедиться, что вы получите последнюю версию.
Версия @NEXT;это на самом деле ложь. СЛЕДУЮЩИЙ = Мастер ;это НЕ СЛЕДУЮЩАЯ версия NativeScript.Это означает, что у вас будет все, что было принято для освоения, включая вещи, которые на самом деле не могут быть развернуты еще для нескольких версий (или когда-либо).Мастер может и обычно глючит, в некоторые дни больше, чем в других.Следующие версии генерируются каждую ночь.Но это очень полезно для тестирования, если исправление работает;НЕ выпускайте приложение для клиентов на @next;вы, скорее всего, пожалеете об этом.
Версия @RC;на самом деле это кандидат на освобождение.Эта версия обычно появляется за неделю до финальной версии следующей публичной версии.Обычно это довольно безопасная версия для использования;это сгенерированные вручную выпуски, чтобы начать углубленное тестирование перед выпуском.Пожалуйста, обратите внимание;что после выпуска 4.1 RC будет указывать на RC 4.1;который старше, чем последний - не окончательный выпуск.Таким образом, вы хотите использовать @RC только в том случае, если он действительно указывает на более новую версию, чем @ latest.
Обновление интерфейса командной строки NativeScript: Итак, теперь расскажем,это текущие версии, которые вы можете сделать: npm info nativescript
и на сегодняшний день вы увидите:
'dist-tags':
{ latest: '4.0.2',
next: '4.2.0-2018-05-30-11723',
rc: '4.1.0-2018-05-30-11720' },
Обратите внимание, что @latest = 4.02
, @next = 4.2.x-DATE
и @rc = 4.1.x-DATE
.
В этом случае;выполнение npm i -g nativescript@next
даст вам текущий Master 4.2.x Однако, поскольку вы хотите 4.1 и желательно стабильную версию;поскольку RC уже обновлен до 4.1;тогда вам лучше всего сделать: npm i -g nativescript@rc --save
, и вы получите CLI 4.1.0.
Теперь, чтобы обновить ваш проект;
Обновление основных модулей: Вы хотели бы сделать npm info tns-core-modules
снова, чтобы увидеть теги для основных модулей, и вы увидите что-то вроде
'dist-tags':
{ latest: '4.0.1',
next: '4.2.0-2018-05-30-01',
rc: '4.1.0-2018-05-30-06' },
Так что простокак CLI вы бы использовали npm i tns-core-modules@rc
;обратите внимание, нет -g
, так как это пакет, который устанавливается как часть вашего приложения.
Обновление среды выполнения Android Do npm info tns-android
'dist-tags':
{ latest: '4.0.1',
next: '4.2.0-2018-05-30-01',
rc: '4.1.1-rc-2018-05-28-03' },
Дляплатформы вам нужно удалить старую версию;затем установите более новую версию.
tns platform remove android
, а затем tns platform add android@rc
Обновление среды выполнения iOS Do npm info tns-ios
'dist-tags':
{ latest: '4.0.1',
next: '4.1.0-2018-05-25-01',
rc: '4.1.0-rc-2018-05-26-01' },
Затем введите tns platform remove ios
, а затем tns platform add ios@rc
Заключительные замечания:
Очень часто вы можете избавиться от обновления только модулей времени выполнения или основных модулей, не обновляя ничего другого.Однако, если у вас есть проблемы со сборкой или приложение падает при запуске;тогда вам, вероятно, нужно обновить все для синхронизации.
Вы можете сделать npm i -g nativescript@4.1.0-2018-05-30-11720
, чтобы установить конкретную версию.Тем не менее, за многие годы, что я сделал это, я не могу вспомнить причину, по которой мне пришлось что-то делать, кроме тегов @latest, @next или @ rc.
Помните, что есть ТРИ отдельных элемента, о которых вам нужно знать;CLI (который создает приложение; но на самом деле не влияет на ошибки в приложении).Среды выполнения (т. Е. Механизм JavaScript, который запускает ваш код) и модули Core (т. Е. Код, который делает <Label>
, становятся подходящим текстовым дисплеем на каждой платформе. В зависимости от того, на каком уровне находится ваша проблема; это то, что вам нужнодля обновления.
Если вы используете NativeScript-Angular, NativeScript-Vue или NativeScript-Webpack, вам могут потребоваться установить дополнительные компоненты, чтобы сделать их совместимыми с @rcили @ следующая версия.