私は古いプロジェクトを複製してnpm install
を実行し、その後ionic serve
を実行します
そして私はこのエラーを見つけました
[ERROR] @ionic/app-scripts is required for ionic serve to work properly.
Looks like @ionic/app-scripts isn't installed in this project.
This package is required for ionic serve in ionic/angular 4 projects.
質問のタイトル自体に答えがあります。
以下をインストールしてみてください
npm install @ionic/app-scripts@latest --save-dev
Ionic 4.に更新した後、これに遭遇しました。ダウングレードしなければならなくなりました。
node_modulesフォルダーを削除する
実行:
npm install
完了するまで待ちます。これでプロジェクトを実行できます:
ionic serve -l
コマンドパネルを終了し、再度開きます。その後、その作品。
実行:
npm update
それはすべてがうまくいくでしょう。
次のコマンドを実行してインストールを試みます。
npm i -D -E @ionic/app-scripts
これは、Ionic 3から4にアップグレードしたときに発生しました。問題はpackage.json
およびionic.config.json
両方とも3から4に変更されました。コピーと貼り付けの操作を行うときは注意が必要です。
angular
である必要があります(以前は「type」:「ionic-angular」でした){
"name": "myProjectName",
"integrations": {
"cordova": {}
},
"type": "angular"
}
あなたはこのようなものを持っていたかもしれません
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint --bailOnLintError true",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve",
"ionic:watch:before": "node ./bin/pre-build.js",
"ionic:build:before": "node ./bin/pre-build.js"
},
これは標準に変更されますangular in Ionic 4:
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
@tnfaidで言及されているnode_modulesの削除とnpm install
の実行に加えて、念のためpackage-lock.json
ファイルも削除しました。脆弱性を解決するためにnpm audit fix
も実行しました。これでうまくいきました。
package.json
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
}
'"ionic:serve": "ionic-app-scripts serve"
'を削除して保存し、ionic serve
を実行します。これで動作するはずです。その後、"ionic:serve": "ionic-app-scripts serve"
を再度追加できます。
調査の結果、許可の問題であることがわかりました。
私の場合、私はそれを別の方法で解決しました。権限を変更して更新する必要がありました
Sudo chown -R thiagodias:thiagodias /Documents/ionic_workspace
:~/Documents/ionic_workspace/test$ Sudo npm install @ionic/app-scripts@latest