?安裝三方庫。
命令格式
ohpm install [options] [[<@group>/]<pkg>[@<version> | @tag:<tag>]] ...
ohpm install [options] <folder>
ohpm install [options] <har file>
alias: i
說明
- @group:三方庫的命名空間,可選。
- pkg:三方庫名稱,可選;當 install 后面沒有指定三方庫名稱時,會根據當前目錄下 oh-package.json5 定義的依賴關系進行全量安裝。
- version:三方庫的版本號,可選。
- tag:三方庫的標簽,標簽會標記三方庫的某個版本號,可選。
功能描述
用于安裝指定組件或 oh-package.json5 文件中所有的依賴。如果存在 oh-package-lock.json5 文件,安裝將取決于 oh-package-lock.json5 文件中鎖定的版本。
-
ohpm install
將依賴項安裝到本地 oh_modules 文件夾中,并將所有依賴項作為 dependencies,寫入 oh-package.json5 文件。
-
ohpm install <folder>
安裝本地文件夾,則默認會創建一個軟鏈接指向該文件夾。如果安裝不想以創建軟鏈接的形式,則需要增加 --no-link 參數。
示例:
ohpm install ../folder
-
ohpm install <har file>
安裝壓縮包,請注意壓縮包的要求:
- 文件名必須使用 .tar, .tar.gz, .tgz, .har 作為擴展名;
- 壓縮包里面包含子文件 package;
- 子文件夾 package 下面必須包含 oh-package.json5 文件,且配置文件中必須有 name 和 version 字段。
- ohpm install ./package.har
? ? ? ?示例:
ohpm install ./package.har
Options
all
- 默認值:false
- 類型:Boolean
可以在 install 命令后面配置 --all 參數,安裝您項目下所有模塊在其 oh-package.json5 中配置的全部依賴項。
save-dynamic
- 默認值:false
- 類型:Boolean
可以在 install 命令后面配置 --save-dynamic 參數,安裝的三方庫信息將會寫入 oh-package.json5 文件的 dynamicDependencies 中。
save-dev
- 默認值:false
- 類型:Boolean
可以在 install 命令后面配置 --save-dev 參數,安裝的三方庫信息將會寫入 oh-package.json5 文件的 devDependencies 中。
save-prod
- 默認值:true
- 類型:Boolean
可以在 install 命令后面配置 --save-prod 參數,安裝的三方庫信息將會寫入 oh-package.json5 文件的 dependencies 中,這是 ohpm 的默認行為。
no-save
- 默認值:false
- 類型:Boolean
可以在 install 命令后面配置 --no-save 參數,安裝的三方庫信息將不會寫入 oh-package.json5 文件中。
no-link
- 默認值:false
- 類型:Boolean
可以在 install 命令后面配置 --no-link 參數,安裝本地文件夾時,則不會創建一個軟鏈接指向該文件夾,而是將依賴項將作為常規依賴項打包和安裝。
prefix
- 默認值:""
- 類型: string
可以在 install 命令后面配置 --prefix <string> 參數,用來指定包的根目錄,該目錄下必須存在 oh-package.json5 文件。
parameterFile
- 默認值:無
- 類型: string
- 別名:pf
可以在 install 命令后面配置 --parameterFile <string> 參數,用來指定參數化配置文件地址。使用該命令前需保證項目級別的oh-package.json5中已配置parameterFile參數。
registry
- 默認值:""
- 類型:URL
可以在 install 命令后面配置 --registry <registry> 參數,指定倉庫地址;如果沒有指定,默認從配置中獲取倉庫地址。
fetch_timeout
- 默認值:60000
- 類型: Number
- 別名:ft
可以在 install 命令后面配置 -ft <number> 或者 --fetch_timeout <number> 參數,設置操作的超時時間,如果沒有指定,默認超時時間為60000ms。
strict_ssl
- 默認值:true
- 類型: Boolean
可以在 install 命令后面配置 --strict_ssl true 參數,校驗 https 證書;配置 --strict_ssl false 參數,不校驗 https 證書。
max_concurrent
- 默認值:50
- 類型: Number
- 別名:mc
可以在 install 命令后面配置 -mc <number> 或者 --max_concurrent <number> 參數,設置最大活動并發請求數(即ohpm操作期間任何時間的最大網絡請求數),如果沒有指定,默認最大并發請求數為50次。
retry_times
- 默認值:1
- 類型: Number
- 別名:rt
可以在 install 命令后面配置 -rt <number> 或者 --retry_times <number> 參數,設置操作失敗前的最大重試次數,如果沒有指定,默認最大重試次數為1次。
retry_interval
- 默認值:1000
- 類型: Number
- 別名:ri
可以在 install 命令后面配置 -ri <number> 或者 --retry_interval <number> 參數,設置重試失敗前的等待時間,如果沒有指定,默認等待時間為1000ms。
experimental-concurrently-safe
- 默認值:true
- 類型:Boolean
可以在 install 命令后面配置 --experimental-concurrently-safe 參數,并發安全地安裝依賴。這是一個實驗性選項。
target_path
- 默認值:無
- 類型:string
可以在 install 命令后面配置 --target_path <string> 參數,用來指定在特定目標產物target語境下各模塊的依賴配置文件(oh-package.json5)的路徑。在執行ohpm install時,ohpm會優先安裝<target_path>/<moduleName>/oh-package.json5文件中依賴。詳情參見target_path。
示例
安裝 lottie 三方庫,執行以下命令:
ohpm install @ohos/lottie
結果示例:
oh_modules
ohpm 1.0.0~1.3.0
使用 ohpm 安裝時,項目中各 Module 的依賴項被統一安裝在 Module 根目錄下的 oh_modules 目錄中,Module 中所有直接依賴和間接依賴都以平鋪的方式存儲在 oh_modules 目錄下的 .ohpm 目錄中,Module 的直接依賴則以軟鏈接的方式添加進 oh_modules 文件夾的根目錄中。因此,相同依賴項只會安裝一次,從而減少磁盤使用空間,加快安裝速度。
ohpm 1.4.x
ohpm 客戶端從 1.4.0 版本開始,同一項目下所有 Module 的依賴都會被統一安裝在項目根目錄下的 oh_modules 目錄中,同時會在項目各 Module 根目錄下的 oh_modules 中生成該 Module 的直接依賴的軟連接,這些軟連接會指向項目根目錄下 oh_modules 中的 .ohpm 目錄下依賴實際存儲目錄。
target_path
為了支持在構建過程中針對不同的產物定制不同的依賴,hvigor會在構建時根據目標產物target為各模塊自動生成定制的依賴配置文件(oh-package.json5),開發者可以在ohpm install時使用target_path選項來指定在特定目標產物target語境下各模塊的依賴配置文件(oh-package.json5)的路徑。
ohpm會優先安裝<target_path>/moduleName/oh-package.json5文件中配置的依賴,并在<project_root>/moduleName下生成對應的oh-package-<targetName>-lock.json5文件。當指定target_path時,默認會開啟依賴版本沖突自動處理功能,在依賴安裝完成后,ohpm還會根據實際安裝的依賴版本在<target_path>/resolve-conflict/moduleName目錄下生成新的oh-package.json5文件。
target_path目錄結構示例:
+---default // <targetName>默認為default
| | dependencyMap.json5 // 記錄在特定target語境下的各模塊依賴配置文件路徑
| +---module1 // 在特定target語境下某模塊的依賴配置文件的存儲目錄,與原模塊根目錄同名
| | oh-package.json5 // 在特定target語境下某模塊依賴配置文件
| +---module2
| | oh-package.json5
| | oh-package.json5 // 在特定target語境下生成的工程級依賴配置文件
dependencyMap.json5內容示例:
{targetName: "default",rootDependency: "./oh-package.json5"dependencyMap: {"module1": "./module1/oh-package.json5","module2": "./module2/oh-package.json5"}
}
ohpm install指定target_path時依賴配置優先級說明:
1、<target_path>/dependencyMap.json5中rootDependency配置的oh-package.json5的優先級高于<project_root>/oh-package.json5。
2、.ohpmrc中projectPackageJson指定的項目級配置文件中overrides、overrideDependencyMap配置優先級同時高于<target_path>/dependencyMap.json5中rootDependency配置的oh-package.json5中對應配置 和 <project_root>/oh-package.json5中對應配置。
3、<target_path>/moduleName/oh-package.json5的優先級高于overrideDependencyMap中的依賴配置文件。
4、overrides中的依賴版本優先級高于<target_path>/moduleName/oh-package.json5中對應的依賴版本。
注意
僅當<target_path>/dependencyMap.json5中targetName的值不為空且不等于'default'時,<project_root>/moduleName目錄下生成的lock文件名才會變更為:oh-package-targetName-lock.json5。
最后
有很多小伙伴不知道學習哪些鴻蒙開發技術?不知道需要重點掌握哪些鴻蒙應用開發知識點?但是又不知道從哪里下手,而且學習時頻繁踩坑,最終浪費大量時間。所以本人整理了一些比較合適的鴻蒙(HarmonyOS NEXT)學習路徑和一些資料的整理供小伙伴學習
點擊領取→純血鴻蒙Next全套最新學習資料(安全鏈接,放心點擊)
希望這一份鴻蒙學習資料能夠給大家帶來幫助,有需要的小伙伴自行領取,限時開源,先到先得~無套路領取!!
一、鴻蒙(HarmonyOS NEXT)最新學習路線
?
有了路線圖,怎么能沒有學習資料呢,小編也準備了一份聯合鴻蒙官方發布筆記整理收納的一套系統性的鴻蒙(OpenHarmony )學習手冊(共計1236頁)與鴻蒙(OpenHarmony )開發入門教學視頻,內容包含:(ArkTS、ArkUI開發組件、Stage模型、多端部署、分布式應用開發、音頻、視頻、WebGL、OpenHarmony多媒體技術、Napi組件、OpenHarmony內核、Harmony南向開發、鴻蒙項目實戰等等)鴻蒙(HarmonyOS NEXT)…等技術知識點。
獲取以上完整版高清學習路線,請點擊→純血版全套鴻蒙HarmonyOS學習資料
二、HarmonyOS?Next 最新全套視頻教程
?
三、《鴻蒙 (OpenHarmony)開發基礎到實戰手冊》
OpenHarmony北向、南向開發環境搭建
?
《鴻蒙開發基礎》
- ArkTS語言
- 安裝DevEco Studio
- 運用你的第一個ArkTS應用
- ArkUI聲明式UI開發
- .……
?
《鴻蒙開發進階》
- Stage模型入門
- 網絡管理
- 數據管理
- 電話服務
- 分布式應用開發
- 通知與窗口管理
- 多媒體技術
- 安全技能
- 任務管理
- WebGL
- 國際化開發
- 應用測試
- DFX面向未來設計
- 鴻蒙系統移植和裁剪定制
- ……
?
《鴻蒙進階實戰》
- ArkTS實踐
- UIAbility應用
- 網絡案例
- ……
?
四、大廠面試必問面試題
?
五、鴻蒙南向開發技術
?
六、鴻蒙APP開發必備
?
七、鴻蒙生態應用開發白皮書V2.0PDF
?
完整鴻蒙HarmonyOS學習資料,請點擊→純血版全套鴻蒙HarmonyOS學習資料
總結
總的來說,華為鴻蒙不再兼容安卓,對中年程序員來說是一個挑戰,也是一個機會。只有積極應對變化,不斷學習和提升自己,他們才能在這個變革的時代中立于不敗之地。?
? ? ? ? ? ? ? ? ? ? ? ??