use*_*381 5 javascript git centos yarnpkg
当尝试使用 Yarn via 安装我的项目的依赖项时yarn install,进程(和进度条指示器)在尝试获取包时挂起。永远不会发生超时,并且该--verbose选项没有提供有关问题原因的有用线索。
CentOS 7
纱线版本:0.27.5
此问题是由 Yum 在 CentOS 上安装的旧版 Git(撰写本文时为 1.8.3.1-6)和 Git 的双因素身份验证机制相结合引起的。
Git 的 2FA 是导致挂起的首要原因,因为 Yarn 尝试获取的包之一是通过 HTTPS 的私有存储库(有关详细信息,请参阅此处)。
CentOS 中的 Git 客户端版本是导致挂起持续发生且从未超时/错误的原因。也就是说,上述 CentOS 上的 Git 版本阻止了 Yarn 识别身份验证错误并相应退出。
解决方案是使用不同的存储库将 Git 升级到更新版本:
sudo yum -y erase git
sudo rpm -U http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
sudo yum -y install git
Run Code Online (Sandbox Code Playgroud)
这将阻止 Yarn 继续挂起,输出类似于以下内容:
[1/4] Resolving packages...
[2/4] Fetching packages...
error Command failed.
Exit code: 128
Command: git
...
fatal: could not read Username for 'https://github.com': terminal prompts disabled
Run Code Online (Sandbox Code Playgroud)