Bower 无法安装 Faker@3.1.0

new*_*cpp 0 faker bower bower-install

我们有一个旧的 ember 应用程序,bower.json配置如下:

{
  "name": "my-app",
  "dependencies": {
    "Faker": "~3.1.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

它已经工作了很多年,最近我们在构建时发现以下错误

bower install
bower Faker#~3.1.0          not-cached https://github.com/Marak/Faker.js.git#~3.1.0
bower Faker#~3.1.0             resolve https://github.com/Marak/Faker.js.git#~3.1.0
bower Faker#~3.1.0        ENORESTARGET No tag found that was able to satisfy ~3.1.0

Additional error details:
No versions found in https://github.com/Marak/Faker.js.git
Run Code Online (Sandbox Code Playgroud)

我检查了https://github.com/Marak/Faker.js,错误是正确的。没有了3.1.0,当前版本是6.6.6. 但是 git 提交历史记录3.1.0再也找不到版本了。

有没有办法让我从某个地方找到 3.1.0?看来作者清理了旧版本?

jon*_*rpe 6

正如faker.js 发生了什么所解释的,该库的原始维护者删除了存储库的整个历史记录。旧版本的 Faker 仍然可以通过以下方式获得npm install:从 NPM 注册表解析它们是稳定的,因为它们可以防止自崩溃以来流行的软件包被取消发布。然而,这些标签不再存在于 GitHub 存储库中,因此 Bower 无法找到该包。left-pad

即使无法创建新的 Bower 包,您也可以切换到社区维护的 faker.js 分支。根据Bower 文档

由于 Bower 已被弃用,因此不再支持注册新的 Bower 包。尽管如此,您可以通过输入全名来将任何 GitHub 存储库安装为 Bower 包bower.json

{
  "dependencies": {
    "angular-cli": "angular/angular-cli#^9.1.3"
  }
}
Run Code Online (Sandbox Code Playgroud)

您也可以使用 CLI 从 github 安装任何依赖项:

bower install angular/angular-cli --save
Run Code Online (Sandbox Code Playgroud)

因此,对于您的情况,您应该能够按如下方式解决问题:

{
  "dependencies": {
    "angular-cli": "angular/angular-cli#^9.1.3"
  }
}
Run Code Online (Sandbox Code Playgroud)