无法为Angular 2 +

时间:2017-09-15 19:31:32

标签: angular npm timepicker kendo-ui-angular2

根据我在本周三(9/13/2017)通过电子邮件收到的KendoUI简报,新的TimePicker已经发布。我试图在我的项目中导入TimePicker组件,但我无法这样做。根据API,对于应该包含TimePickerModule的kendo-angular-dateinputs,我们的版本为1.2.0。我尝试通过指定该版本(1.2.0)来执行npm install,并且我收到以下错误消息。

  

fetchPackageMetaData错误   @ progress / kendo-angular-dateinputs @ ^ 1.2.0 {错误:不兼容   发现版本:@ progress / kendo-angular-dateinputs @ ^ 1.0.6
37傻   fetchPackageMetaData有效安装目标:
37傻   fetchPackageMetaData 1.0.5,1.0.5-dev.201706261326,1.0.4,   1.0.4-dev.201706150809,1.0.4-dev.201706131239,1.0.3,1.0.3-dev.201706051028,1.0.2,1.0.2-dev.201705311506,1.0.2-dev.201705261318,1.0。 2-dev.201705240946,1.0.2-dev.201705240940,1.0.2-dev.201705221449,1.0.1,1.0.0,0.9.0,0.8.3,0.8.2,0.8.1,0.8.0, 0.7.0,0.6.1,0.6.0,0.5.3,0.5.2,0.5.1,0.5.0,0.4.1,0.4.0,0.3.7,0.3.6,0.3.5,0.3。 4,0.3.3,0.3.2,0.3.1,0.3.0,0.2.0,0.1.0

在包json中,我将依赖添加为“@ progress / kendo-angular-dateinputs”:“^ 1.2.0”。我只能获得1.0.5的最新版本,当我在我的html中添加timepicker标签时,我收到错误消息说:

  

未捕获错误:模板解析错误:   'kendo-timepicker'不是已知元素:   1.如果'kendo-timepicker'是Angular组件,则验证它是否是此模块的一部分。   2.如果'kendo-timepicker'是Web组件,则将'CUSTOM_ELEMENTS_SCHEMA'添加到此组件的'@ NgModule.schemas'以禁止显示此消息。 (”    [错误 - >]

任何人都可以查看V1.2.0是否确实可供人们使用吗?

还要复制包json

    {
  "name": "test-project",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.0.0",
    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    "@angular/forms": "^4.0.0",
    "@angular/http": "^4.0.0",
    "@angular/platform-browser": "^4.0.0",
    "@angular/platform-browser-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "@progress/kendo-angular-dateinputs": "^1.2.0",
    "@progress/kendo-angular-intl": "^1.2.1",
    "@progress/kendo-angular-l10n": "^1.0.2",
    "core-js": "^2.4.1",
    "rxjs": "^5.4.1",
    "zone.js": "^0.8.14"
  },
  "devDependencies": {
    "@angular/cli": "1.2.7",
    "@angular/compiler-cli": "^4.0.0",
    "@angular/language-service": "^4.0.0",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "~3.0.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.0.4",
    "tslint": "~5.3.2",
    "typescript": "~2.3.3"
  }
}

2 个答案:

答案 0 :(得分:0)

我注意到我无法通过NPM获得任何新的更新,但我最近在http://docs.telerik.com/kendo-ui/intro/installation/npm#kendo-ui-professional的NPM包页面上找到了以下内容

  

重要

     

Progress NPM注册表已退休,取而代之的是npmjs.com。要开始使用默认注册表,请从.npmrc文件中删除包含registry.npm.telerik.com的两行。

为了解决这个问题,我删除了〜/ .npmrc文件中的以下行

@progress:registry=https://registry.npm.telerik.com/

之后所有新包都可用

答案 1 :(得分:0)

我将package.json中的dependencie设置为"@progress/kendo-angular-dateinputs": "^1.0.5",安装的版本为@progress/kendo-angular-dropdowns 1.2.0,这样就可以了。

您可以安装版本检查程序:

npm install -g version-check

然后运行命令以查看您拥有的版本:

version-check

您是否在根模块中导入模块?

import { TimePickerModule } from '@progress/kendo-angular-dateinputs';

@NgModule({
    declarations: [HomeComponent],
    imports: [
        BrowserModule,
        ButtonsModule,
        TimePickerModule
    ],
    providers: []
})
export class HomeModule { }

in html:

<kendo-timepicker 
    [format]="'HH:mm'" 
    name="workingTimeFrom" 
    [(ngModel)]="workingDay.startTime"
    (valueChange)="updateStartTime(i,$event)">
</kendo-timepicker>