Ruby on rails 无法检测rake任务。请确保您可以对应用程序运行“$bundle exec rake-P”
我一直在尝试运行一个git push heroku master,但仍然出现以下错误:Ruby on rails 无法检测rake任务。请确保您可以对应用程序运行“$bundle exec rake-P”,ruby-on-rails,Ruby On Rails,我一直在尝试运行一个git push heroku master,但仍然出现以下错误: 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: ! Activating
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: ! Activating bundler (2.0.1) failed:
remote: ! Could not find 'bundler' (= 2.0.1) - did find: [bundler-2.0.2]
remote: ! Checked in 'GEM_PATH=vendor/bundle/ruby/2.4.0', execute `gem env` for more information
remote: !
remote: ! To install the version of bundler this project requires, run `gem install bundler -v '2.0.1'`
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: Activating bundler (2.0.1) failed:
remote: Could not find 'bundler' (= 2.0.1) - did find: [bundler-2.0.2]
remote: Checked in 'GEM_PATH=vendor/bundle/ruby/2.4.0', execute `gem env` for more information
remote:
remote: To install the version of bundler this project requires, run `gem install bundler -v '2.0.1'`
remote: from /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/lib/language_pack/ruby.rb:961:in `rake'
remote: from /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/lib/language_pack/rails4.rb:84:in `block (2 levels) in run_assets_precompile_rake_task'
remote: from /app/tmp/buildpacks/b7af5642714be4eddaa5f35e2b4c36176b839b4abcd9bfe57ee71c358d71152b4fd2cf925c5b6e6816adee359c4f0f966b663a7f8649b0729509d510091abc07/lib/language_pack/base.rb:135:in `log'
我运行了上面建议的所有内容,并继续得到错误消息。然后我遵循了这个指南:
最新的一个,我开始得到这个错误:
rvm install "ruby-2.6.3"
Warning, new version of rvm available '1.29.9-next', you are using older version '1.29.4'.
You can disable this warning with: echo rvm_autoupdate_flag=0 >> ~/.rvmrc
You can enable auto-update with: echo rvm_autoupdate_flag=2 >> ~/.rvmrc
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.13/x86_64/ruby-2.6.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Updating Homebrew...
Error: undefined method `any?' for nil:NilClass
Please report this bug:
https://docs.brew.sh/Troubleshooting
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:216:in `depends_on'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:235:in `block in check_dependents'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:235:in `sort'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:235:in `check_dependents'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:114:in `upgrade'
/usr/local/Homebrew/Library/Homebrew/brew.rb:102:in `<main>'
Requirements installation failed with status: 1.
➜ dancortesPortfolio git:(master) ✗ gem install bundler '2.0.2'
Error loading RubyGems plugin "/Users/danale/.rvm/gems/ruby-2.4.0@global/gems/executable-hooks-1.3.2/lib/rubygems_plugin.rb": dlopen(/Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle
Reason: image not found - /Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle (LoadError)
Error loading RubyGems plugin "/Users/danale/.rvm/gems/ruby-2.4.0@global/gems/gem-wrappers-1.2.7/lib/rubygems_plugin.rb": dlopen(/Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle
Reason: image not found - /Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle (LoadError)
ERROR: Loading command: install (LoadError)
dlopen(/Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle
Reason: image not found - /Users/danale/.rvm/gems/ruby-2.4.0@global/gems/openssl-2.0.3/lib/openssl.bundle
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
rvm安装“ruby-2.6.3”
警告,新版本的rvm可用“1.29.9-next”,您使用的是旧版本“1.29.4”。
您可以使用以下命令禁用此警告:echo rvm\u autoupdate\u flag=0>>~/.rvmrc
您可以使用:echo rvm\u autoupdate\u flag=2>>~/.rvmrc启用自动更新
搜索二进制红宝石,这可能需要一些时间。
没有二进制ruby可用于:osx/10.13/x86_64/ruby-2.6.3。
继续汇编。请阅读“rvm帮助挂载”以获取有关二进制红宝石的更多信息。
检查osx的需求。
正在更新自制。。。
错误:nil:NilClass的未定义方法“any”
请报告此错误:
https://docs.brew.sh/Troubleshooting
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:216:in“依赖”
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:235:in`block in check_dependents'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:235:in'sort'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:235:in'check_dependents'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:114:in'upgrade'
/usr/local/Homebrew/Library/Homebrew/brew.rb:102:in`'
需求安装失败,状态为:1。
➜ DancertSportfolio git:(硕士)✗ gem安装捆绑程序“2.0.2”
加载RubyGems插件“/Users/danale/.rvm/gems/ruby-2.4时出错。0@global/gems/executable-hooks-1.3.2/lib/rubygems_plugin.rb”:dlopen(/Users/danale/.rvm/gems/ruby-2.4)。0@global/gems/openssl-2.0.3/lib/openssl.bundle,9):未加载库:/usr/local/opt/openssl/lib/libssl.1.0.0.dylib
引用自:/Users/danale/.rvm/gems/ruby-2.4。0@global/gems/openssl-2.0.3/lib/openssl.bundle
原因:找不到映像-/Users/danale/.rvm/gems/ruby-2.4。0@global/gems/openssl-2.0.3/lib/openssl.bundle(加载错误)
加载RubyGems插件“/Users/danale/.rvm/gems/ruby-2.4时出错。0@global/gems/gem-wrappers-1.2.7/lib/rubygems_plugin.rb“:dlopen(/Users/danale/.rvm/gems/ruby-2.4)。0@global/gems/openssl-2.0.3/lib/openssl.bundle,9):未加载库:/usr/local/opt/openssl/lib/libssl.1.0.0.dylib
引用自:/Users/danale/.rvm/gems/ruby-2.4。0@global/gems/openssl-2.0.3/lib/openssl.bundle
原因:找不到映像-/Users/danale/.rvm/gems/ruby-2.4。0@global/gems/openssl-2.0.3/lib/openssl.bundle(加载错误)
错误:加载命令:安装(加载错误)
dlopen(/Users/danale/.rvm/gems/ruby-2.4)。0@global/gems/openssl-2.0.3/lib/openssl.bundle,9):未加载库:/usr/local/opt/openssl/lib/libssl.1.0.0.dylib
引用自:/Users/danale/.rvm/gems/ruby-2.4。0@global/gems/openssl-2.0.3/lib/openssl.bundle
原因:找不到映像-/Users/danale/.rvm/gems/ruby-2.4。0@global/gems/openssl-2.0.3/lib/openssl.bundle
错误:执行gem时。。。(命名者)
nil:NilClass的未定义方法'invoke_with_build_args'
这不会解释您遇到的第二个错误,但是解决第一个错误中捆绑程序问题的一个可能方法是从Gemfile.lock文件中删除“BUNDLED WITH”行。它们应该是文件的最后两行,并且(根据您的错误)应该类似于:
BUNDLED WITH
2.0.1
每次运行bundle install
时,这些行将重新出现在Gemfile.lock
文件中,因此您需要在运行该命令后推送到heroku时删除它们。我还没有找到一个更持久的解决方案,但这对我来说解决了这个错误。看起来您本地有bundler版本2.0.1,但heroku正在运行2.0.2。您可以尝试在计算机上更新bundler:gem安装bundler
,然后在项目中重新运行bundle安装
如果无法更新bundler:,您也可能遇到此问题。特别是:
...you are using rvm-1.29.1 or later it is likely caused by a pre-1.1 OpenSSL version that is installed or symlinked to /usr/local.
You can check which formula /usr/local/bin/openssl is symlinked to and to a brew unlink <fomula> and then do a rvm reinstall of the broken ruby version.
…您使用的是rvm-1.29.1或更高版本,这可能是由安装或符号链接到/usr/local的1.1之前的OpenSSL版本引起的。
您可以检查哪个公式/usr/local/bin/openssl被符号链接到brew或与brew解除链接,然后对损坏的ruby版本进行rvm重新安装。