我在我的项目中使用了很多私有节点包(存储在我的个人 github 存储库中):
"devDependencies": {
...
"my-package": "github:username/my-package#master"
...
}
我的问题是,当更新项目或运行时
npm install
,这个过程需要很长时间(〜2分钟),而它却卡在做类似的事情:
reify:my-package: timing reify:loadBundles Completed in 0ms
使用私人存储库时,我可以做些什么来加快流程吗?
谢谢
这不是私有仓库或 GitHub 的问题,NPM 本身最近很慢。您可能想要使用更快的替代方案,例如
yarn
,它速度更快,并且可以节省大量时间。
要安装 Yarn,您只需运行
npm install yarn -g
。这将在全球范围内安装纱线。
NPM 命令的 Yarn 替代方案备忘单可以提供帮助 - https://shift.infinite.red/npm-vs-yarn-cheat-sheet-8755b092e5cc
希望有帮助:)
如果您从注册表安装软件包,则只需复制软件包文件并安装
dependencies
。另一方面,如果您从 git 或 github 源 安装,则 npm 需要下载源代码,安装 dependencies
和 devDependencies
,并运行任何 npm package
脚本;请参阅 npm install 文档:
如果正在安装的软件包包含
脚本,则在打包和安装软件包之前,将安装其
prepare
和dependencies
,并运行准备脚本。devDependencies
示例:如果
mydependency
的 package.json
包含 "prepare": "tsc --build"
,并且如果您的应用程序依赖于它,并在其 package.json
中使用 github 源代码,例如"mydependency": "github:myuser/mydepdendency"
,那么您的应用程序的 npm install
必须下载 typescript
并运行 tsc
来打包 mydependency
。
另一方面,如果您使用已发布的 npm 或 GitHub Packages 依赖项,例如
"@myuser/mydepdendency": "^1.2.3"
,那么npm
不需要安装typescript
的副本来构建mydependency。