npm安装truffle-contract时报如下错误
% npm install truffle-contract --save
npm ERR! code 128
npm ERR! An unknown git error occurred
npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/web3-js/WebSocket-Node.git
npm ERR! git@github.com: Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/domino/.npm/_logs/2023-01-25T09_49_32_140Z-debug-0.log
原因是没有配置 github的ssh key,没有权限通过ssh下载github上的项目。
解决方法:
-
生成ssh key
.ssh % ssh-keygen -t rsa -b 4096 -C "你的邮箱@163.com" Generating public/private rsa key pair. # 这里要输入rsa文件的位置,注意不要覆盖掉默认的,避免影响到已有的ssh连接 Enter file in which to save the key (/Users/domino/.ssh/id_rsa): /Users/domino/.ssh/id_rsa_github # 直接回车到底 Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/domino/.ssh/id_rsa_github. Your public key has been saved in /Users/domino/.ssh/id_rsa_github.pub. The key fingerprint is: SHA256:0qmF2i4vW05EYxIZJv1TI5wv1zRldtmh1GDLp5g9mM0 xxxx@163.com The key's randomart image is: ………………
-
配置到
~/.ssh/config
文件中# 在 ~/.ssh/config文件中添加以下代码,如果没有则需要先创建 #github Host *.github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa_github
配置好重新执行安装命令,安装成功文章来源:https://uudwc.com/A/PjRo
% npm install truffle-contract --save
npm WARN deprecated uuid@2.0.1: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@2.0.1: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@2.0.1: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.3.2: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated truffle-interface-adapter@0.2.5: WARNING: This package has been renamed to @truffle/interface-adapter.
npm WARN deprecated uuid@3.3.2: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
npm WARN deprecated truffle-contract@4.0.31: WARNING: This package has been renamed to @truffle/contract.
added 196 packages in 42s
参考文档:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
https://blog.csdn.net/huangsy421/article/details/121489441文章来源地址https://uudwc.com/A/PjRo