LoginSignup
2
3

More than 3 years have passed since last update.

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

Last updated at Posted at 2017-12-04

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

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

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 # インストール

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

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3