Я не могу сделать sh герою, есть предложения? - PullRequest
0 голосов
/ 07 мая 2020

Я столкнулся с этой проблемой,

до сих пор я обновил ruby, rvm, bootsnap и pry до последней версии, когда пытаюсь установить sh свое приложение на heroku,

$git push heroku master

сбой ближе к концу, с этой ошибкой:

remote: -----> Detecting rake tasks
remote: 
remote:  !
remote:  !     Could not detect rake tasks
remote:  !     ensure you can run `$ bundle exec rake -P` against your app
remote:  !     and using the production group of your Gemfile.
remote:  !     rake aborted!
remote:  !     TypeError: no implicit conversion of String into Integer
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/loaded_features_index.rb:83:in `register'
remote:  !   
  ...
...
/tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2.1/lib/active_support/dependencies.rb:291:in `block in require'
remote:  !   
...
...  

/tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:44:in `require_relative'
remote:  !     ....
.....
/tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/lib/rake/application.rb:703:in `raw_load_rakefile'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/lib/rake/application.rb:104:in `block in load_rakefile'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/lib/rake/application.rb:103:in `load_rakefile'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/lib/rake/application.rb:82:in `block in run'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/lib/rake/application.rb:186:in `standard_exception_handling'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/lib/rake/application.rb:80:in `run'
remote:  !     /tmp/build_00cbfd62aabf08d9eeba7a2d621c4bd6/vendor/bundle/ruby/2.7.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
remote:  !     ./vendor/bundle/bin/rake:29:in `load'
remote:  !     ./vendor/bundle/bin/rake:29:in `<main>'
remote:  !
remote: /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/lib/language_pack/helpers/rake_runner.rb:106:in `load_rake_tasks!': Could not detect rake tasks (LanguagePack::Helpers::RakeRunner::CannotLoadRakefileError)
remote: ensure you can run `$ bundle exec rake -P` against your app
remote: and using the production group of your Gemfile.
remote: rake aborted!
remote: TypeError: no implicit conversion of String into Integer

1 Ответ

1 голос
/ 07 мая 2020

Проблема исходит от bootnap 1.4.1 - и я посмотрел на гем - их последняя версия - 1.4.6, а код в kernel_require.rb изменился с 1.4.1 на 1.4.6 - так что первое, что нужно сделать я бы порекомендовал обновить этот гем до последней версии и снова попытаться установить pu sh.

Но следующее, что я бы порекомендовал, - это удалить bootnap. Shopify - очень хорошая компания Rails - я уверен, что их драгоценный камень очень хорошо работает по своему прямому назначению, но если вы не уверены, почему этот гем существует в вашем проекте, то вам не следует на него полагаться. Да - похоже, цель их жемчужины - скорость, но уважительно, ваш проект необычно медленный без этой зависимости? Добавление чего-либо для «ускорения работы» без понимания того, почему вы это сделали, приводит к подобным ситуациям, когда вы не можете диагностировать проблему и решить ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...