Andy1999
V2EX  ›  Node.js

npm 如何通过 package.json 安装依赖最新版

  •  
  •   Andy1999 · Nov 1, 2015 via iPhone · 12966 views
    This topic created in 3891 days ago, the information mentioned may be changed or developed.
    下载源码, package.json 里面都明确规定了版本号,但是 npm install 安装的都不是最新版。
    需要用户手动执行 npm i xxx@提供的版本号才能正常使用。
    请问这个问题该怎么解决?
    10 replies    2015-11-02 10:22:11 +08:00
    arfaWong
        1
    arfaWong  
       Nov 1, 2015 via Android
    把 package. json 的版本号改为空字符串试试?
    guchengf
        2
    guchengf  
       Nov 1, 2015
    当然不能直接安装最新版,不然怎么保证兼容性。。。
    如果你想要升级,同时能确保升级以后可以正常工作的话,就把对应的包的版本改成 "*" ,然后
    npm update --save 就好了
    Andy1999
        3
    Andy1999  
    OP
       Nov 1, 2015 via iPhone
    @guchengf 目前 package 包给出的是正常可用的版本,我要更新这些依赖只能通过 rm -rf node_modules 然后再 npm install 就能获取到最新版了
    但是我不想每次更新都删掉 node_modules 这样效率太低了 有没有办法在不删除 node_modules 的情况下对这些依赖全部更新到 package 里面的版本?
    aivier
        4
    aivier  
       Nov 1, 2015
    “ my_module ” : "latest"
    这个吧
    guchengf
        5
    guchengf  
       Nov 1, 2015
    @Andy1999 你的意思是 package 定义的依赖比你本地的要新吗?
    那样 npm update 不行吗?
    Andy1999
        6
    Andy1999  
    OP
       Nov 1, 2015 via iPhone
    @guchengf 的确 npm update 不行
    只有 rm 掉 node_modules 再 npm install 才可以
    ibigbug
        8
    ibigbug  
       Nov 2, 2015
    这种问题还是去提到讨论 node 的地方吧。。比如 cnodejs
    youxiachai
        9
    youxiachai  
       Nov 2, 2015
    ^x.xx.xx

    就能保证大版本里头,patch 是最新的了...

    注意 ^
    Niphor
        10
    Niphor  
       Nov 2, 2015
    LZ 不怕 update 了,代码跑步起来,按楼上的方法,把版本都改成 "*"就是了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1241 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 17:25 · PVG 01:25 · LAX 10:25 · JFK 13:25
    ♥ Do have faith in what you're doing.