你知道package-lock.json的功能嗎?跟package.json有什麼差?【npm教學】

แชร์
ฝัง

ความคิดเห็น • 17

  • @james-kool
    @james-kool  2 หลายเดือนก่อน

    程式語言課程:jameskool.com/p/javascript-course-v2
    副頻道:www.youtube.com/@james-clips
    ig:instagram.com/jameskool.official/
    Patreon會員專屬影片:www.patreon.com/user?u=99360097

  • @ts00139161
    @ts00139161 2 หลายเดือนก่อน +8

    謝謝,用了好幾年但都不求甚解XD

  • @roger00ym
    @roger00ym 2 หลายเดือนก่อน +3

    喜歡簡明的解說,感謝你的影片

  • @JeffShaq
    @JeffShaq 2 หลายเดือนก่อน +3

    php的composer也有類似機制 composer.json跟composer.lock

  • @hinoshimizu8351
    @hinoshimizu8351 2 หลายเดือนก่อน

    疑問很久了,謝謝!

  • @sin7142
    @sin7142 2 หลายเดือนก่อน

    哇 學到了,雖然我沒在使用 npm 相關東西

  • @jing_an_0614
    @jing_an_0614 2 หลายเดือนก่อน

    常常看到這兩個檔案 但從來沒有想過呢🫠

  • @freemanwow
    @freemanwow 2 หลายเดือนก่อน

    讚 清晰

  • @snowsuikaOuO
    @snowsuikaOuO 2 หลายเดือนก่อน

    音量好像有點小聲,但內容好棒!!!

  • @lebronjaimeslannister
    @lebronjaimeslannister 2 หลายเดือนก่อน +2

    請問有 package-lock.json 的情況下跟 npm ci 差別在哪裡

    • @james-kool
      @james-kool  2 หลายเดือนก่อน +2

      使用npm ci通常意圖是避免對package-lock有任何修改
      因為用npm install在某些情況下,是會對package-lock產生改變的,例如npm版本不同、或是node_modules跟package-lock沒有完全同步等等情況
      如果使用npm ci,就會確保package-lock不會被動到,如果發生上面那些情況,它不會去修改package-lock,而是會直接失敗

  • @user-jx8kg3vv1h
    @user-jx8kg3vv1h 2 หลายเดือนก่อน

    有一个是特殊的,就是^0.0.1这种主版本号是0的情况。

  • @KCYJimmy
    @KCYJimmy 2 หลายเดือนก่อน

    沒想過有那麼多人用了很多年都不知道耶...

  • @user-zn5tn9br3b
    @user-zn5tn9br3b 2 หลายเดือนก่อน +1

    想了一下,那就把 package-lock.json 砍掉,然後 package.json 的 ^ 符號也都砍掉,直接指定版本,這樣不就OK了? 就不需要 lock 這檔案了?

    • @james-kool
      @james-kool  2 หลายเดือนก่อน

      使用npm update這個指令可以在package.json允許的範圍內自動更新套件,全部寫死就是要全部手動更新,感覺也是一種做法啦,但比較麻煩一點

    • @wc852
      @wc852 2 หลายเดือนก่อน +2

      @@james-kool 以我理解, 在你自己的package.json裡, 可以寫死直接依賴的package版本, 但間接依賴的package版本有可能不是寫死的, 所以還是需要package-lock.json. package-lock.json會lock住直接和間接依賴的package版本

    • @cat-.-
      @cat-.- 2 หลายเดือนก่อน

      @@wc852很有道理