从私人 git 存储库安装/更新软件包时,npm 真的很慢

问题描述 投票:0回答:2

我在我的项目中使用了很多私有节点包(存储在我的个人 github 存储库中):

"devDependencies": {
  ...
  "my-package": "github:username/my-package#master"
  ...
}

我的问题是,当更新项目或运行时

npm install
,这个过程需要很长时间(〜2分钟),而它却卡在做类似的事情:

reify:my-package: timing reify:loadBundles Completed in 0ms

使用私人存储库时,我可以做些什么来加快流程吗?

谢谢

node.js git npm installation updates
2个回答
3
投票

这不是私有仓库或 GitHub 的问题,NPM 本身最近很慢。您可能想要使用更快的替代方案,例如

yarn
,它速度更快,并且可以节省大量时间。

安装纱线

要安装 Yarn,您只需运行

npm install yarn -g
。这将在全球范围内安装纱线。

Yarn 命令

NPM 命令的 Yarn 替代方案备忘单可以提供帮助 - https://shift.infinite.red/npm-vs-yarn-cheat-sheet-8755b092e5cc

希望有帮助:)


0
投票

如果您从注册表安装软件包,则只需复制软件包文件并安装

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。

© www.soinside.com 2019 - 2024. All rights reserved.