【问题标题】:Cannot install with npm package from git无法使用来自 git 的 npm 包安装
【发布时间】:2021-10-13 21:40:24
【问题描述】:

我正在尝试从我之前 fork 的 git 安装包。

我试试

npm i catsaredoomed/invest-openapi-js-sdk --save-dev

我有

npm ERR! prepareGitDep 2> npm WARN install Usage of the `--dev` option is deprecated. Use `--also=dev` instead.

此外,这个错误甚至不取决于我提供的标志。我可以设置 --save 或根本不提供,它仍然存在。当然,--also=dev 不会改变这种情况

UPD:npm -v 6.14.13

UPD 2:

无论出于何种原因,npm 似乎都需要 sudo 来运行此命令(我之前没有将 sudo 与 npm 一起使用,并且所有其他应用程序包都安装了没有 sudo)。所以使用 sudo 这个命令运行,但只会产生新的错误

    npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/catsaredoomed/invest-openapi-js-sdk.git
npm ERR! git@github.com: Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.

无论出于何种原因,在请求公共 (!) 存储库时,它都需要密钥

UPD 3:NodeJS(带 npm)通过 sudo dnf 作为 Fedora 模块安装,git 照常 sudo dnf install,没什么特别的

【问题讨论】:

  • 解决方法,只需将"@tinkoff/invest-openapi-js-sdk": "github:catsaredoomed/invest-openapi-js-sdk", 放入依赖项中
  • 这给了我一个奇怪的错误(正如我在回答中所说) git --no-replace-objects ls-remote ssh://git@github.com/catsaredoomed/invest-openapi-js-sdk .git npm 错误! git@github.com:权限被拒绝(公钥)。为什么它需要公共回购的密钥...
  • catsaredoomed/invest-openapi-js-sdk 看起来不像本地包?
  • 查看我的更新。如果我使用 sudo 运行 npm,它实际上会尝试检索正确的 git repo(但无论出于何种原因询问密钥)。所以我不认为问题出在语法上,而且据我所知 @ 是用于 npm 注册表包和其他包 git 被假定

标签: javascript git github npm


【解决方案1】:
npm i catsaredoomed/invest-openapi-js-sdk --only=dev 

试试这个,--save-dev 选项由于未来版本的变化而被弃用。

【讨论】:

  • 还是一样的输出
  • 现在试试 --only=dev
  • 好的,我明白会发生什么,但更奇怪的是。无论出于何种原因,它都以 sudo 权限运行(我需要 sudo 和 npm 的唯一情况),然后它运行 git --no-replace-objects ls-remote ssh://git@github.com/catsaredoomed/invest-openapi-js -sdk.git 失败导致找不到公钥。为什么它需要 git Publickey 用于公共回购我也不知道
【解决方案2】:

似乎是兼容性问题。我将推荐的 npm 从 6.14.13 更新到 7.20

npm install npm@latest -g

所有问题都消失了

【讨论】:

    【解决方案3】:

    git@github.com: Permission denied (publickey).
    请按照 Github 的文档添加 ssh 访问权限。
    您必须在您的个人资料中添加 ssh 公钥。
    https://docs.github.com/en/authentication/troubleshooting-ssh/error-permission-denied-publickey

    使用ssh -vT git@github.com 进行验证,然后再次尝试安装您的 npm 包。

    【讨论】:

    • 你好 abewartech!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。但仍然错误
    猜你喜欢
    • 2020-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    相关资源
    最近更新 更多