yarn官網文檔(翻譯)——從 npm 遷移到 yarn

原文:https://yarn.bootcss.com/docs/migrating-from-npm/

對於大多數用戶來說從npm遷移到yarn是個簡單的過程。yarn 可以使用和npm相同格式的 package.json,並且可以從你npm註冊表中安裝任何依賴包 。

如果你想在現有的npm項目上運行yarn,試着運行:

yarn

你的node_modules文件夾將會兼容yarn的分辨率算法和node.js模塊的分辨率算法。

如果你的項目出錯,請查看現有的issue,或者將問題提交到issue tracker。

當你運行yarn 或者yarn add [package]時,yarn會在你安裝包的根目錄下生成一個yarn.lock文件。你需要閱讀或者去理解這個文件,只需要檢查它是否已經在源代碼管理裏面。當其他人使用yarn代替npm時,yarn.lock文件會確保他們能精確獲取和你相同的依賴。

在大多數情況下,第一次運行yarn 或者 yarn add命令纔會起作用。相同的情況下,package.json文件中的信息並不明確,無法消除依賴關係,而唯一明確的方式是yarn選擇的依賴會運行到依賴衝突中去。
特別在大型項目中,有時候npm安裝不起作用,並且開發人員頻繁移除node_modules和從頭開始重建。如果發生這種情況,嘗試使用npm讓依賴的版本更明確,然後再換成yarn。

Yarn從版本1.7.0起,你可以通過使用yarn import,將npm生成的package-lock.json的狀態導入到Yarn。

項目中的其他開發人員可以繼續使用npm,所以你不需要讓項目中的每個人去同時轉換成使用yarn。使用yarn的開發人員將會獲取到完全相同的配置,使用npm的開發人員可能會獲取到在npm預期下稍微不同的配置。

當你覺得yarn並不合適的時候,你可以重新使用npm並且不需要做其他特殊的改變。如果項目中沒有人使用yarn的時候,你可以選擇是否刪除你舊的yarn.lock文件,都不影響使用。

當你正在使用 npm-shrinkwrap.json文件時,請意識到你看你會得到不要的依賴集。yarn不會提供npm的shrinkwrap文件,因爲他們沒有租後的信息去支持yarn的更多確定性算法。如果你使用的是shrinkwrap文件,則可以更容易地去轉換項目中每個人同時使用yarn,只需要移除你現有的npm-shrinkwrap.json 文件並且檢查新創建的yarn.lock文件

# CLI commands comparison

npm (v5) Yarn
npm install yarn install
(N/A) yarn install --flat
(N/A) yarn install --har
npm install --no-package-lock yarn install --no-lockfile
(N/A) yarn install --pure-lockfile
npm install [package] yarn add [package]
npm install [package] --save-dev yarn add [package] --dev
(N/A) yarn add [package] --peer
npm install [package] --save-optional yarn add [package] --optional
npm install [package] --save-exact yarn add [package] --exact
(N/A) yarn add [package] --tilde
npm install [package] --global yarn global add [package]
npm update --global yarn global upgrade
npm rebuild yarn add --force
npm uninstall [package] yarn remove [package]
npm cache clean yarn cache clean [package]
rm -rf node_modules && npm install   yarn upgrade
npm version major yarn version --major
npm version minor yarn version --minor
npm version patch yarn version --patch
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章