Сбой сборки с «ошибка проверки ключа хоста» при установке node_modules

#node.js #heroku

#node.js #heroku

Вопрос:

Очистка ОБНОВЛЕНИЯ моего кэша сборки и развертывание без каких-либо package-lock.json исправлений.

При развертывании моего приложения узла в Heroku произошел сбой Host key verification failed при установке одной из моих зависимостей, общедоступного репозитория:

 -----> Monorepo app detected
      Copied /server to root of app successfully
-----> Node.js app detected
       
-----> Creating runtime environment
       
       NPM_CONFIG_LOGLEVEL=error
       NODE_ENV=DEVELOPMENT
       NODE_MODULES_CACHE=true
       NODE_VERBOSE=false
       
-----> Installing binaries
       engines.node (package.json):  10.x
       engines.npm (package.json):   unspecified (use default)
       
       Resolving node version 10.x...
       Downloading and installing node 10.22.1...
       Using default npm version: 6.14.6
       
-----> Restoring cache
       - node_modules
       
-----> Installing dependencies
       Installing node modules
       npm ERR! Error while executing:
       npm ERR! /usr/bin/git ls-remote -h -t ssh://git@github.com/ethereumjs/ethereumjs-abi.git
       npm ERR! 
       npm ERR! Host key verification failed.
       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! 
       npm ERR! exited with error code: 128
       
       npm ERR! A complete log of this run can be found in:
       npm ERR!     /tmp/npmcache.RchR7/_logs/2020-10-25T17_11_28_328Z-debug.log
-----> Build failed
  

В моих пакетах сборки не было изменений, которые работали раньше:

 1. https://github.com/lstoll/heroku-buildpack-monorepo
2. https://github.com/heroku/heroku-buildpack-nodejs
  
  • Приложение работает на Heroku уже несколько недель, используя пакеты, от которых ethereumjs-abi зависит. (Это не прямая зависимость от моего приложения.)
  • ethereumjs-abi не обновлялся с тех пор, как я начал его использовать
  • Приложение по-прежнему корректно работает локально
  • Мое собственное репозиторий является частным, но репозиторий пакета является общедоступным.
  • Недавно я изменил свои SSH-ключи, но с момента добавления их в GitHub у меня не было никаких других проблем с SSH. Теперь я добавил новый ключ в Heroku, heroku keys:add и это не возымело никакого эффекта.
  • Ранее я указывал engines: { node: 10.x } , но теперь также попробовал 12.x и 14.x
  • Переход с локального master на Heroku master

Ответ №1:

Да, несколько дней потрачено впустую…

Столкнулся с той же проблемой при замене пакета npm на мой собственный fork и предоставил пользовательскую ссылку на github.com .

Что помогло:

  1. удалите блокировку пакета из GIT
  2. очистить кэш с помощью heroku builds:cache:purge --app $HEROKU_APP_NAME --confirm $HEROKU_APP_NAME

Комментарии:

1. В этом случае перед использованием сборок heroku нам также необходимо установить плагин. плагины heroku: установите heroku-сборки