3
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

NativeScriptを最新版にアップデートする

基本的には公式のアップデート手順を参考になります。大きなバージョンアップ時は、開発ブログにもわかりやすく手順が乗ることが多いので、そちらも参考に。

が、一部うまくいかないこともあるので備忘。

tns コンパイラを最新に

プロジェクトのルートで以下を実行します。

npm install -g nativescript

iOS/AndroidランタイムやCoreモジュールを最新に

tns platform remove ios && tns platform add ios
tns platform remove android && tns platform add android
npm i tns-core-modules@latest

※公式では tns updateで良いよーと書いてありますが、「Could not update the project!」 と出て失敗するころが多く、上記のコマンドで対応しています。

TypeScriptの開発用プラグインをアップデート(TypeScriptプロジェクトのみ)

npm i nativescript-dev-typescript@latest --save-dev
./node_modules/.bin/ns-upgrade-tsconfig

Angularの依存関係をアップデートする(Angularプロジェクトのみ)

npm i nativescript-angular@latest --save
./node_modules/.bin/update-app-ng-deps
npm i

Webpackプラグインの更新(必要に応じて)

基本的には必要ないものの、メジャーバージョンアップなどでは必要になることが多い。
Webpackでビルドできない場合などは効果があることが多い。

npm i nativescript-dev-webpack@latest --save-dev
./node_modules/.bin/update-ns-webpack --deps --configs 

最新になったか確認

tns info コマンドで以下のように全て「Up to date」と出れば最新版になっています

$ tns info
All NativeScript components versions information
┌──────────────────┬─────────────────┬────────────────┬───────────────┐
│ Component        │ Current version │ Latest version │ Information   │
│ nativescript     │ 3.3.1           │ 3.3.1          │ Up to date    │
│ tns-core-modules │ 3.3.0           │ 3.3.0          │ Up to date    │
│ tns-android      │                 │ 3.3.1          │ Not installed │
│ tns-ios          │ 3.3.0           │ 3.3.0          │ Up to date    │
└──────────────────┴─────────────────┴────────────────┴───────────────┘

ビルドや動作で失敗するようになったら

アップデート後、ビルドエラーや実行時エラーが出るようになったら、以下を試してみましょう。

プロジェクトのルートで

rm -rf node_modules/
npm install
tns platform remove [ios/android]

その他NativeScriptアップデート時にやっておくといいこと

tns-platform-declarations の最新化

最新のOSのSDKのメソッドや定数を使いたいなら、アップデートしておくほうが良い。(というか基本最新化して不都合は無い)

npm i tns-platform-declarations@latest

プラグインのアップデート

NativeScriptのバージョンアップと共に、使っているプラグインが古くなっていないか、セキュリティパッチが出てないか確認し、アップデートするのが良いだろう。

npm outdated # これで新しいバージョンが出てないか確認
npm i [プラグインのnpmパッケージ名]@latest # インストール

もちろん、プラグインのアップデートで既存のコードが動かなくなる(最悪アプリが起動しなくなる)こともあるので、アップデートはひとつずつ、アプリの動作を確認しながら行うのが良い。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What are the problem?