V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DavidNineRoc
V2EX  ›  问与答

npm 安装依赖是不能自动下载依赖的依赖吗?

  •  
  •   DavidNineRoc · 2019-12-03 15:41:04 +08:00 · 2458 次点击
    这是一个创建于 1847 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在尝试 react-native,玩了好几周感觉还不错。 不过在看文档中发现好几个组件都有类似如下的。

    npm install xxx
    

    然后还需要再下载xxx依赖的依赖。


    想问一下前端的大神,这个影响这么大的问题到现在都没能解决吗? PHPcomposer都已经处理好这种依赖性的问题,是什么原因到到js不解决。还是我的打开方式错了?

    20 条回复    2019-12-04 17:41:42 +08:00
    mxT52CRuqR6o5
        1
    mxT52CRuqR6o5  
       2019-12-03 19:08:59 +08:00 via Android
    请具体举例
    ochatokori
        2
    ochatokori  
       2019-12-03 19:11:20 +08:00 via Android
    要是这样 js 早就炸了…
    会不会是可选组件的依赖?
    Trim21
        3
    Trim21  
       2019-12-03 19:12:26 +08:00
    这个肯定可以啊, 你安装过程中 npm 没报什么错吗
    mritd
        4
    mritd  
       2019-12-03 19:12:58 +08:00 via iPhone
    py2 c++ gcc make cmake autoconf ruby... 没想到吧,我虽然是 js,但是也不是你想用就用的
    mritd
        5
    mritd  
       2019-12-03 19:14:05 +08:00 via iPhone   ❤️ 1
    急眼了还得去下载 chrome 的开源版本,再不行我直接 github release 地址给你下载东西
    mritd
        6
    mritd  
       2019-12-03 19:15:39 +08:00 via iPhone
    如果不巧这个 release 被作者删了...呵呵呵
    DavidNineRoc
        7
    DavidNineRoc  
    OP
       2019-12-03 20:06:40 +08:00
    @mxT52CRuqR6o5
    @ochatokori
    npm install react-navigation
    React Navigation 由一些核心实用程序组成,然后导航使用它们在您的应用程序中创建导航结构。现在不必为此担心太多,它很快就会变得清楚起来! 为了提前完成安装工作,我们还要安装和配置大多数导航器使用的依赖项,然后我们就可以开始编写一些代码了。

    接下来,我们需要安装的是 react-native-gesture-handler、react-native-reanimated 和 react-native-screens. 如果你已经安装了这些库,并且是最新版本,那么到这儿就完成了 否则,请继续阅读。
    DavidNineRoc
        8
    DavidNineRoc  
    OP
       2019-12-03 20:07:31 +08:00
    @Trim21 没,都是照着文档敲。
    又过好几次,明明一分钟之前没问题,没操作。然后突然报错少了什么依赖。 然后又 npm install xxx
    DavidNineRoc
        9
    DavidNineRoc  
    OP
       2019-12-03 20:08:06 +08:00
    @mritd 不明
    mritd
        10
    mritd  
       2019-12-04 06:44:29 +08:00 via iPhone
    @DavidNineRoc #9 那可能你没遇到过,我为好多项目折腾 ci,遇到过一次,差点怀疑人生
    DavidNineRoc
        11
    DavidNineRoc  
    OP
       2019-12-04 10:20:25 +08:00
    @mritd 如果第三方依赖的依赖少了,作为第三方的仓库作者应该会全力处理这个问题的。我们折腾只会破坏项目的结构吧
    mritd
        12
    mritd  
       2019-12-04 10:21:51 +08:00
    @DavidNineRoc #11 一般作者只在新版本处理这个问题...
    mxT52CRuqR6o5
        13
    mxT52CRuqR6o5  
       2019-12-04 10:48:51 +08:00 via Android
    @DavidNineRoc 你说的这些都是独立功能的库啊,哪里有依赖的依赖?
    Rheinmetal
        14
    Rheinmetal  
       2019-12-04 11:03:29 +08:00
    spring 全家桶也需要分别下载呀
    DavidNineRoc
        15
    DavidNineRoc  
    OP
       2019-12-04 12:21:09 +08:00
    @mxT52CRuqR6o5
    这个是 react-axios 的安装文档。
    Installing
    Using npm:

    $ npm install react-axios
    Also install the required peer dependancies if you have not already done so:

    $ npm install axios
    $ npm install react
    $ npm install prop-types

    @Rheinmetal 没有吧,我记得 maven 会自动解析依赖的依赖自动下载的吧。
    mxT52CRuqR6o5
        16
    mxT52CRuqR6o5  
       2019-12-04 13:10:30 +08:00 via Android
    @DavidNineRoc 这个是 axios 的 react 绑定,就像 redux 和 react-redux 也是分开的,你就可以指定 redux 版本
    DavidNineRoc
        17
    DavidNineRoc  
    OP
       2019-12-04 13:52:01 +08:00
    @mxT52CRuqR6o5
    如果 react-axios 必须要安装有 axios 才能工作,那么 npm 不应该自动解析这个依赖然后下载吗,还需要手动再执行一次 npm install axios. 感觉麻烦了
    mxT52CRuqR6o5
        18
    mxT52CRuqR6o5  
       2019-12-04 14:52:38 +08:00 via Android
    @DavidNineRoc 这样用户可以指定 axios 版本,不然会坑人
    DavidNineRoc
        19
    DavidNineRoc  
    OP
       2019-12-04 17:23:59 +08:00
    @mxT52CRuqR6o5 不坑吧,应该版本依赖。万一 react-axios 依赖的版本和用户的不同,那就没办法用了
    mxT52CRuqR6o5
        20
    mxT52CRuqR6o5  
       2019-12-04 17:41:42 +08:00 via Android
    @DavidNineRoc axios 没多少 api 你觉不出来坑,那要是 mobx 和 react-mobx 呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1185 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:15 · PVG 02:15 · LAX 10:15 · JFK 13:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.