"Çerçeve: yasemin" sağlayıcısı yok! (Çözümleme: çerçeve: yasemin)


98

Komutu çalıştırdığımda gruntşu uyarıyı alıyorum:

Running "karma:unit" (karma) task
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Use --force to continue.

Bu sorunu nasıl çözeceğini bilen var mı?

Yanıtlar:


181

Yeni bir proje açısal jeneratör (yo açısal) oluşturduktan sonra da aynı hatayı aldım.

Benim için çözüm, packages.json'daki devDependencies 'e "karma-jasmine" eklemek ve "npm install" ı tekrar çalıştırmaktı.

npm install karma-jasmine --save-dev

Bu, "" çerçeve: yasemin "sağlayıcısı yok!" Hata mesajını çözdü.

Ben de hiçbir başlatıcısı yüklendiğini mesajı var gibi devDependencies bir karma tarayıcı başlatıcısı eklemek zorunda (bkz http://karma-runner.github.io/0.10/config/browsers.html ).

npm install karma-safari-launcher --save-dev

Paketlerim.json eylemimden sonra şöyle görünüyordu:

{
  "name": "test1",
  "version": "0.0.0",
  "dependencies": {},
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-autoprefixer": "~0.4.0",
    "grunt-bower-install": "~0.7.0",
    "grunt-concurrent": "~0.4.1",
    "grunt-contrib-clean": "~0.5.0",
    "grunt-contrib-coffee": "~0.7.0",
    "grunt-contrib-compass": "~0.6.0",
    "grunt-contrib-concat": "~0.3.0",
    "grunt-contrib-connect": "~0.5.0",
    "grunt-contrib-copy": "~0.4.1",
    "grunt-contrib-cssmin": "~0.7.0",
    "grunt-contrib-htmlmin": "~0.1.3",
    "grunt-contrib-imagemin": "~0.3.0",
    "grunt-contrib-jshint": "~0.7.1",
    "grunt-contrib-uglify": "~0.2.0",
    "grunt-contrib-watch": "~0.5.2",
    "grunt-google-cdn": "~0.2.0",
    "grunt-newer": "~0.5.4",
    "grunt-ngmin": "~0.0.2",
    "grunt-rev": "~0.1.0",
    "grunt-svgmin": "~0.2.0",
    "grunt-usemin": "~2.0.0",
    "jshint-stylish": "~0.1.3",
    "load-grunt-tasks": "~0.2.0",
    "time-grunt": "~0.2.1",
    "karma-ng-scenario": "^0.1.0",
    "grunt-karma": "^0.8.0",
    "karma": "^0.12.0",
    "karma-jasmine": "~0.2.2",
    "karma-safari-launcher": "~0.1.1",
    "karma-ng-html2js-preprocessor": "^0.1.0"
  },
  "engines": {
    "node": ">=0.8.0"
  },
  "scripts": {
    "test": "grunt test"
  }
}

Karma.conf en karma-e2e.conf dosyasındaki aşağıdaki satırı karma-safari-launcher'ı kullanmak için değiştirdim:

browsers: ['Safari'],

Umarım bu senin için de işe yarar.


2
Teşekkürler! Farklı yaptığım tek şey krom kullanmamdınpm install karma-chrome-launcher --save-dev
Luciano

1
@KyleHayes İşte jeneratör-açısal projedeki hata raporu: github.com/yeoman/generator-angular/issues/629
cjerdonek

1
Bundan Error: No provider for "framework:karma-chrome-launcher"!sonra ben varım
David

1
Eklentileriniz varsa: [...] karma.config.js'ye eklenmişse, karma-yasemin'i yüklemek sorunu çözmez. eklentiler gibi eklenti dizisine "karma-yasemin" eklemeniz gerekir: ['karma-yasemin'].
Thaadikkaaran

"Npm install karma-jasmine --save-dev" anlayışıma göre package.json üzerinde herhangi bir etkiye sahip değildi. Bu çözüm için teşekkürler.
Andy

37

: @Taco söylediği gibi, bu sorun için çözüm pakedi böyle uygun eklentiyi, yüklüyor npm install karma-jasmine --save-devveya bu: npm install karma-mocha --save-dev.

Ancak, karma-clikarmanın eklentileri yükleme biçimini güncelledikleri için eski bir sürümünü çalıştırdığınızda da bu hata bekleniyor . En son sürüme sahip olduğunuzdan emin olmak için şunu çalıştırın:

npm install -g karma-cli

1
Bu benim için düzeltti. Daha önce bahsettiğim bağımlılıklar vardı ama görünüşe göre karma-cli güncelliğini yitirmişti.
icfantv

1
Bu benim sorunumu çözdü. Teşekkürler dostum
shaikh

1
Ben de bununla karşılaştım. Açıkça, npm install -g karmaolduğu değil aynı şey npm install -g karma-cli.
Peter Majeed

@PeterMajeed Jasmine'i yükledikten sonra yapabileceğimi düşündüm npm install -g karmaama bu işe yaramıyor. Kullanmalısınıznpm install -g karma-cli
Coburn

34

Sorunum dosyamdaydı karma.config.js:

plugins: [require("karma-webpack")]

Bu, dahil olmak üzere diğer karma-*eklentilerin yüklenmemesine neden oldu karma-jasmine.


1
aleclarson's da benim sorunumdu. Beri karma-webpackbenim zaten package.json's devDependencies, bunu dışarı yorumladı pluginsbenim girişi karma.config.jsdosyası.
dave_k_smith

31

Senin Eğer karma.conf.jsbir belirtir pluginsözellik, eklemeyi unutmayın karma-jasminelisteye. Tüm eklentilerin önünde varsa, eklentiler karma-otomatik olarak yükleneceği için bu özelliği belirtmenize gerek yoktur.


6
Teşekkürler, bu sorunumu çözdü, eklentilere karma-yasemin ekledim!
sandip

Teşekkürler bu işe yaradı - bu tam satır. plugins: ['karma-jasmine', 'karma-chrome-launcher', 'karma-spec-reporter', 'karma-coverage'],
Sam Deering

6

Bu bana oldu çünkü Karma'yı global olarak kurdum ve karma start komutunu çalıştırdığımda, aslında dev dizinim yerine / usr / ... içinde çalıştı.

Benim durumumda çözüm karmayı kaldırmak ve onun yerine karma-cli kurmaktı.

npm remove -g karma
npm install -g karma-cli

2

Benim sorunum IntelliJ çalıştırma yapılandırmasında seçilen "Karma paketi" idi. Projenin "node_module" klasöründe projenin karma paketini seçmedim: görüntü açıklamasını buraya girin


Tam da aradığım şey buydu.
vivekmore
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.