Kesalahan: File ruang kerja lokal ('angular.json') tidak dapat ditemukan

189

Saya telah travis-citerintegrasi dengan akun GitHub saya ( https://github.com/pradeep0601/Angular5-Router-App ).

Ketika saya memperbarui @angular/cliversi dari 1.7.4 ke 6.0.0-rc.3, build mulai gagal dengan kesalahan:

Local workspace file ('angular.json') could not be found.
Error: Local workspace file ('angular.json') could not be found.
    at WorkspaceLoader._getProjectWorkspaceFilePath (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:37:19)
    at WorkspaceLoader.loadWorkspace (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/workspace-loader.js:24:21)
    at TestCommand._loadWorkspaceAndArchitect (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:177:32)
    at TestCommand.<anonymous> (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:45:25)
    at Generator.next (<anonymous>)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:7:71
    at new Promise (<anonymous>)
    at __awaiter (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:3:12)
    at TestCommand.initialize (/home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/architect-command.js:44:16)
    at /home/travis/build/pradeep0601/Angular5-Router-App/node_modules/@angular/cli/models/command-runner.js:100:23

cuplikan package.json untuk lebih memahami lingkungan yang berjalan:

    "@angular/cli": "6.0.0-rc.3",
    "@angular/compiler-cli": "^5.2.0",
    "@angular/language-service": "^5.2.0",
    "@types/jasmine": "~2.8.3",
    "@types/jasminewd2": "~2.0.2",
Pradeep
sumber
Saya menghadapi masalah yang sama, dan itu konyol, ini terjadi ketika menggunakan terminal dari kode studio visual dan dan bekerja ketika beralih ke windows cli default!
Gilles Kagarama

Jawaban:

319

Saya hanya punya masalah yang sama.

Ini terkait dengan rilis v6.0.0-rc.2, https://github.com/angular/angular-cli/releases :

Format konfigurasi baru. File baru dapat ditemukan di angular.json (tetapi .angular.json juga diterima). Menjalankan pembaruan pada proyek CLI 1.7 akan memindahkan Anda ke konfigurasi baru.

Saya perlu menjalankan:

ng update @angular/cli --migrate-only --from=1.7.4

Ini dihapus .angular-cli.jsondan dibuat angular.json.

Jika ini mengarah ke proyek Anda menggunakan 1.7.4, instal v6 secara lokal:

npm install --save-dev @angular/[email protected]

Dan coba sekali lagi untuk memperbarui proyek Anda dengan:

ng update @angular/cli --migrate-only --from=1.7.4
Lenni
sumber
4
menjalankan ng update @angular/cli --migrate-only --from=1.7.4hasil dalam kesalahan: Collection "@schematics/angular/migrations/migration-collection.json" cannot be resolved.. Adakah cara untuk memperbaikinya?
GO VEGAN
1
Saya juga mendapatkan `Opsi tidak diketahui: '--extractCss'`
Mohammed Barakat
8
Pastikan versi npm dan nodejs Anda mutakhir atau Anda mungkin akan mengalami kegagalan. ng update @angular/clihanya itu yang dibutuhkan.
rtaft
1
@ user1932595 Saya harus memutakhirkan @schematics/angularke versi terbaru untuk melewati kesalahan itu.
Bygrace
2
Catatan singkat di atas. Menghapus .angula-cli.json tidak terjadi pada saya sampai menjalankan perintah pembaruan ng kedua.
Aggie Jon dari 87
78

Saya mendapatkan pesan kesalahan yang sama. Itu adalah kesalahan konyol di ujung saya, saya tidak berjalan ng servedi direktori di mana proyek Angular saya. Pastikan Anda berada di direktori yang benar (direktori proyek) sebelum menjalankan perintah ini.

DRG
sumber
3
oh itu gila :)) terima kasih yang telah menyelamatkan banyak pemecahan masalah yang rumit untuk saya juga! terkadang solusinya sangat sederhana
msanjay
melakukan kesalahan yang sama
Faizan Mubasher
Saya melakukan hal yang sama. Anda membuat direktori untuk melayani proyek Anda, dan itu membuat direktori lain di dalam direktori itu (menampar diri saya sendiri)
Jonathan
yaitu ng-app saya baru, cd app-saya (saya melihat komentar ini sebelumnya tetapi menganggap itu berarti yang tingkat atas)
tony
melakukan kesalahan yang sama dengan Anda menyelamatkan hari saya, Terima kasih
Ahmed ElShemy
36

Dengan versi terbaru, tanpa --migrate-onlysaya mendapatkan repo diperbarui.

Saya melakukan pembaruan

Format konfigurasi CLI Angular telah diubah, dan konfigurasi Anda yang ada dapat diperbarui secara otomatis dengan menjalankan perintah berikut:

ng update @angular/cli
            Updating karma configuration
            Updating configuration
            Removing old config file (.angular-cli.json)
            Writing config file (angular.json)
            Some configuration options have been changed, please make sure to update any npm scripts which you may have modified.
DELETE .angular-cli.json
CREATE angular.json (3684 bytes)
UPDATE karma.conf.js (1040 bytes)
UPDATE src/tsconfig.spec.json (322 bytes)
UPDATE package.json (1340 bytes)
UPDATE tslint.json (3140 bytes)
Sundara
sumber
Saya dapatIncompatible peer dependencies found. See above.
Simon Baars
Kesalahan tak terduga terjadi; package @ angular / flex-layout tidak memiliki versi nol.
Prageeth godage
20

Yah, saya menghadapi masalah yang sama segera setelah saya memperbarui angular cliversi saya .

Sebelumnya saya menggunakan 1.7.4 dan sekarang saya memutakhirkannya menjadi angular cli 6.0.8.

Untuk memperbarui Angular Cli global:

npm uninstall -g angular-cli
npm cache clean 
npm install -g @angular/cli@latest

Untuk memperbarui Angular Cli dev:

npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
npm install

Untuk memperbaiki masalah audit setelah instalasi npm:

npm audit fix

Untuk memperbaiki masalah yang terkait dengan "angular.json":

ng update @angular/cli --migrate-only --from=1.7.4
Vikash Pandey
sumber
17

Hapus instalan versi lama Angular cli, dan instal Angular CLI global:

Perbarui paket global Angular cli ke versi berikutnya, "@ angular / compiler-cli": "^ 6.0.0"

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@next

Hasilkan proyek baru dan aplikasi default dengan menjalankan perintah berikut:

ng new my-project
cd my-project
ng serve
Sanjay kumar
sumber
7
jangan gunakan cli @ next, gunakan cli @ latest atau Anda akan mendapatkan versi beta.
Beralih
9

Coba gunakan perintah di bawah ini:

ng update @angular/cli --migrate-only --from=1.7.4

Ini akan melakukan hal di bawah ini

  • Memperbarui konfigurasi karma

  • Memperbarui konfigurasi

  • Menghapus file konfigurasi lama (.angular-cli.json)

  • Menulis file konfigurasi (angular.json)

Harap perhatikan bahwa perintah di atas harus dijalankan di folder tempat Anda memiliki file. angular-cli.jsondan itu akan digantikan oleh angular.json.

TechSingh
sumber
Saya sudah menjalankan perintah beberapa kali dan file angular.json tidak pernah muncul. Namun, jika saya menghapus file angular-cli.json, jalankan perintah, file angular-cli.json ditambahkan kembali. Apa yang kulewatkan di sini?
jgritten
8

Jika Anda tidak tahu versi, proyek saat ini telah dibuat, Anda dapat menghilangkan --fromperintah dan ketik--migrate-only

ng perbarui @ angular / cli --migrate-only

vipin cp
sumber
7

Jika segala macam memperbarui komando tidak akan melakukannya. Coba hapus package-lock.json . Dan kemudian jalankan instal npm . Melakukan trik untuk saya setelah melalui banyak pembaruan komando.

Dennis Gadomski
sumber
Ada alasan untuk tidak mengambil pendekatan ini sebagai default (menjatuhkan folder node_modules dan package-lock.json), dan hanya menjalankan instalasi npm?
Wallace Howery
4

Ini bekerja untuk saya:

Hapus folder node_modules

Jalankan perintah: npm install

(Jika itu tidak berhasil untuk pertama kalinya, ulangi ini 2 atau 3 kali, ini lucu tetapi bekerja untuk saya.)

Shubham Verma
sumber
4
Mengapa mengulangi proses ini memiliki efek yang berbeda dari yang pertama kali?
Sledge
3

Periksa struktur folder Anda di mana Anda mengeksekusi perintah, Anda harus menjalankan perintah 'ng serve' di mana harus ada file angular.json dalam struktur.

file angular.json akan dihasilkan secara default ketika kita menjalankan perintah

npm instal -g '@ angular / klik Project_name baru kemudian cd project_folder lalu, jalankan ng serve. itu berhasil untuk saya

Vinay Reddy
sumber
3

Jalankan saja ng update @angular/clidi konsol Anda. Anda mungkin menemukan beberapa kerentanan setelah menjalankan perintah (jika menggunakan npm), tetapi kemudian jalankannpm audit fix di konsol untuk memperbaikinya. Perintah ini akan memindai proyek untuk mengetahui kerentanan apa pun dan juga akan memperbaiki masalah kompatibilitas dengan menginstal pembaruan untuk dependensi ini. Jika Anda tidak ingin segera memperbaiki kerentanan ini, Anda dapat melakukan Dry Run: dengan menjalankan npm audit fix --dry-run -json di konsol. Ini akan memberi Anda gambaran tentang apa yang npm audit fixakan dilakukan perintah , dalam bentuk json di konsol.

EZCity
sumber
3

Saya memiliki masalah yang sama, dan apa yang saya lakukan yang bekerja untuk saya adalah:

  1. Di dalam file package.json, perbarui versi Angular CLI ke yang saya inginkan:

    "devDependencies": { ...
      "@angular/cli": "^6.0.8",
      ...
    }
    
  2. Hapus node_modulesfolder, untuk membersihkan proyek sebelum memperbarui dependensi dengan:

    npm install
    
    ng update @angular/cli
    
  3. Cobalah untuk membangun kembali proyek saya (upaya terakhir dan berhasil)

    ng build --prod
    
Juan Monsalve
sumber
2

Bagi saya yang berhasil adalah membuat proyek Angular baru dan hanya menyalin file angular.json di proyek yang memiliki masalah karena fakta bahwa file angular.json hilang .

Devman
sumber
1

Bagi saya masalahnya adalah karena versi global @ angular / cli dan @ angular / compiler-cli berbeda. Lihatlah ke package.json .

...
"@angular/cli": "6.0.0-rc.3",
"@angular/compiler-cli": "^5.2.0",
...

Dan jika mereka tidak cocok, perbarui atau turunkan salah satunya.

Filip Molcik
sumber
1

Saya juga menghadapi masalah yang sama dan saya hanya menjalankan perintah di bawah ini.

ng perbarui @ angular / cli --migrate-only --dari = 1.6.4

Cukup hapus angular-cli.jsondan buat angular.json. Anda dapat menemukannya di log.

Setelah Anda memulai eksekusi. Anda akan dapat melihat log di bawah ini di terminal Anda.

        Updating karma configuration
        Updating configuration
        Removing old config file (.angular-cli.json)
        Writing config file (angular.json)
        Some configuration options have been changed, please make sure to update any                                     
        npm scripts which you may have modified.
        DELETE .angular-cli.json
        CREATE angular.json (3599 bytes)
        UPDATE karma.conf.js (962 bytes)
        UPDATE src/tsconfig.spec.json (324 bytes)
        UPDATE package.json (1405 bytes)
        UPDATE tsconfig.json (407 bytes)
        UPDATE tslint.json (3026 bytes)
Ambuj Khanna
sumber
0

Lihat tautan ini untuk bermigrasi dari Angular 5.2 ke 6. https://update.angular.io/

Memutakhirkan ke versi 8.9 bekerja untuk saya. masukkan deskripsi gambar di sini

raga
sumber
0

Bagi saya, masalahnya adalah bahwa saya memiliki folder proyek sudut di dalam folder proyek rel, dan saya menjalankan semua perintah pembaruan sudut dalam folder induk rel daripada folder sudut aktual.

Niek
sumber
0

Saya mengalami pesan kesalahan ini di dalam wadah buruh pelabuhan. Saya menyelesaikannya dengan menambahkan:

WORKDIR /usr/src

ke Dockerfile.

Tidak
sumber
0

Saya memiliki masalah yang sama dan menemukan bahwa tidak ada package.json di proyek saya (tetapi hanya package-lock.json). Lalu saya

  1. mengembalikan package.json dari kontrol sumber
  2. menghapus versi global dan lokal-cli (seperti instruksi mengatakan)
  3. mengikuti prosedur peningkatan standar

..dan semua bekerja dengan baik. Butuh beberapa saat untuk mengetahuinya, tetapi itu berhasil untuk saya.

Stefan de Groot
sumber
0
~/Desktop $ ng serve

File ruang kerja lokal ('angular.json') tidak dapat ditemukan.

Kesalahan: File ruang kerja lokal ('angular.json') tidak dapat ditemukan.

at WorkspaceLoader._getProjectWorkspaceFilePath (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:37:19)
at WorkspaceLoader.loadWorkspace (/usr/lib/node_modules/@angular/cli/models/workspace-loader.js:24:21)
at ServeCommand._loadWorkspaceAndArchitect (/usr/lib/node_modules/@angular/cli/models/architect-command.js:180:32)
at ServeCommand.<anonymous> (/usr/lib/node_modules/@angular/cli/models/architect-command.js:47:25)
at Generator.next (<anonymous>)
at /usr/lib/node_modules/@angular/cli/models/architect-command.js:7:71
at new Promise (<anonymous>)
at __awaiter (/usr/lib/node_modules/@angular/cli/models/architect-command.js:3:12)
at ServeCommand.initialize (/usr/lib/node_modules/@angular/cli/models/architect-command.js:46:16)
at Object.<anonymous> (/usr/lib/node_modules/@angular/cli/models/command-runner.js:87:23)

Ini karena saya belum memilih direktori proyek Angular.

Itu harus seperti:

~ / Desktop / angularproject $ ng serve

Manu RS
sumber
0

Saya mencoba untuk mengatur aplikasi ionik 4 saya agar berjalan sebagai pwa. Ketika saya menjalankan perintah:

ng add @angular/pwa

... mendapat pesan kesalahan. Setelah beberapa kali coba-coba, saya menemukan bahwa ketika proyek saya dibuat, perintah start salah. Saya menggunakan versi Ionic 3:

ionic start myApp tabs --type=ionic-angular

Dan yang benar adalah:

ionic start myApp tabs --type=angular

tanpa tipe 'ionik-'. Ini menyelesaikan kesalahan.

Sekarang
sumber
0

Cukup periksa direktori Anda, Anda harus menjalankan "ng serve" pada direktori yang sama dengan tempat Anda membuat proyek.

Jadi, pertama masukkan di direktori proyek Anda.

satywan kumar
sumber
0

Untuk orang yang baru saja mengkloning proyek dan mencoba menjalankannya, Anda harus menjalankannya npm installterlebih dahulu. Saya benar-benar lupa menjalankan ini dan hanya menjalankan ng servesebelum menginstal modul simpul.

Sagar Khatri
sumber