如果不是想要的npm包,我该如何/应该更新?

时间:2018-06-12 23:44:13

标签: angular firebase npm angularfire2

我一直在尝试使用querying lists在Firebase上查询数据。

当我尝试类似于该文档中描述的内容时:

getMatchesFiltered(matchId: string, filter: string, sortDirection: string, pageIndex: number, pageSize: number){
    let queryObservable = this.db.list('/matches', ref => ref.orderByKey(true).limitToFirst(2));
    return queryObservable;
  }

我收到了“类型的参数”{query:{...};}'无法分配给“FirebaseListFactoryOpts”类型的参数“错误,这导致我this helpful SO post。但是,当我尝试将上述内容更改为

getMatchesFiltered(matchId: string, filter: string, sortDirection: string, pageIndex: number, pageSize: number): AngularFireList<Match[]>{
    let queryObservable = this.db.list('/matches', ref => ref.orderByKey(true).limitToFirst(2).valueChanges());
    return queryObservable;
  }

并将AngularFireList添加到'angularfire2 / database'导入,我收到以下错误:

  

src / app / database.service.ts(7,81)中的错误:错误TS2305:模块   '“/ Users / mf / Desktop / dataJitsu / node_modules / angularfire2 / database”'有   没有导出的成员'AngularFireList'。

这告诉我,也许我有一个旧版本的angularfire2? 的确,我的package.json说,

"angularfire2": "^4.0.0-rc0",

相信新的AngularFireList列表内容来自v.5.x.x?

然而,当我尝试更新时,它不会让我。 当我运行npm过时时,这就是我所看到的:

npm outdated showing angularfire2 WANTED version remaining at 4.0.0-rc0

请注意,angularfire2的WANTED版本仍为4.0.0-rc0。

最终我的问题是: 我如何确定哪些软件包希望我的版本保持原样?换句话说,是什么阻碍了我进一步更新? 或者,如果有人知道如何在angularfire2前面解决这个问题,那么我也会听到这个问题。

1 个答案:

答案 0 :(得分:0)

由于Version中的Semantic Versioning(“angularfire2”:“^ 4.0.0-rc0”),通缉package.json停留在4.0.0-rc0

  

作为消费者,您可以指定您的应用可以进行哪些类型的更新   在package.json文件中接受。

     

如果你从1.0.4开始,这就是你想要的   指定范围:

     
      
  • 补丁版本:1.0或1.0.x或~1.0.4
  •   
  • 次要版本:1或1.x或^ 1.0.4
  •   
  • 主要版本:*或x
  •   

如果没有看到更多相关代码,很难说另一个问题。我将从checkig this post

开始