将 RoR 项目推送到服务器后,收到 Node.js 版本错误 [构建包问题]


git push dokku master                                          
Enumerating objects: 30, done.
Counting objects: 100% (30/30), done.
Delta compression using up to 8 threads
Compressing objects: 100% (21/21), done.
Writing objects: 100% (21/21), 35.39 KiB | 4.42 MiB/s, done.
Total 21 (delta 12), reused 0 (delta 0)
-----> Cleaning up...
-----> Building taaalk from herokuish...
-----> Adding BUILD_ENV to build environment...
-----> Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used.
Detected buildpacks: ruby nodejs
-----> Ruby app detected
-----> Installing bundler 2.0.2
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.6.3
-----> Installing dependencies using bundler 2.0.2
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Using rake 13.0.1
Using concurrent-ruby 1.1.6
Using i18n 1.8.3
Using minitest 5.14.1
Using thread_safe 0.3.6
Using tzinfo 1.2.7
Using zeitwerk 2.3.0
Using activesupport 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using builder 3.2.4
Using erubi 1.9.0
Using mini_portile2 2.4.0
Using nokogiri 1.10.9
Using rails-dom-testing 2.0.3
Using crass 1.0.6
Using loofah 2.6.0
Using rails-html-sanitizer 1.3.0
Using actionview 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using rack 2.2.3
Using rack-test 1.1.0
Using actionpack 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using nio4r 2.5.2
Using websocket-extensions 0.1.5
Using websocket-driver 0.7.2
Using actioncable 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using globalid 0.4.2
Using activejob 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using activemodel 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using activerecord 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using mimemagic 0.3.5
Using marcel 0.3.3
Using activestorage 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using mini_mime 1.0.2
Using mail 2.7.1
Using actionmailbox 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using actionmailer 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using actiontext 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using execjs 2.7.0
Using autoprefixer-rails 9.8.4
Using aws-eventstream 1.1.0
Using aws-partitions 1.334.0
Using aws-sigv4 1.2.1
Using jmespath 1.4.0
Using aws-sdk-core 3.102.0
Using aws-sdk-kms 1.35.0
Using aws-sdk-s3 1.70.0
Using bcrypt 3.1.13
Using msgpack 1.3.3
Using bootsnap 1.4.6
Using popper_js 1.16.0
Using method_source 1.0.0
Using thor 1.0.1
Using railties 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using ffi 1.13.1
Using sassc 2.4.0
Using sprockets 4.0.2
Using sprockets-rails 3.2.1
Using tilt 2.0.10
Using sassc-rails 2.1.2
Using bootstrap 4.4.1
Using bundler 2.0.2
Using orm_adapter 0.5.0
Using responders 3.0.1
Using warden 1.2.8
Using devise 4.7.2
Using font-awesome-sass 5.12.0
Using friendly_id 5.2.5
Using mini_magick 4.10.1
Using ruby-vips 2.0.17
Using image_processing 1.11.0
Using jbuilder 2.10.0
Using jquery-rails 4.4.0
Using pg 1.2.3
Using puma 4.3.5
Using rack-proxy 0.6.5
Using rails 6.0.3.2 from https://github.com/rails/rails.git (at 6-0-stable@75f6539)
Using ruby_http_client 3.5.0
Using sass-rails 6.0.0
Using semantic_range 2.3.0
Using sendgrid-ruby 6.3.1
Using simple_form 5.0.2
Using turbolinks-source 5.2.0
Using turbolinks 5.2.1
Using webpacker 5.1.1 from https://github.com/rails/webpacker.git (at master@d099e06)
Using will_paginate 3.1.8
Bundle complete! 30 Gemfile dependencies, 84 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
Bundle completed (0.45s)
Cleaning up the bundler cache.
-----> Installing node-v10.15.3-linux-x64
-----> Installing yarn-v1.16.0
-----> Detecting rake tasks
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
yarn install v1.16.0
[1/4] Resolving packages...
[2/4] Fetching packages...
info fsevents@2.1.3: The platform "linux" is incompatible with this module.
info "fsevents@2.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
info fsevents@1.2.13: The platform "linux" is incompatible with this module.
info "fsevents@1.2.13" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning " > webpack-dev-server@3.11.0" has unmet peer dependency "webpack@^4.0.0 || ^5.0.0".
warning "webpack-dev-server > webpack-dev-middleware@3.7.2" has unmet peer dependency "webpack@^4.0.0".
[4/4] Building fresh packages...
Done in 10.76s.
I, [2020-06-25T13:40:05.742797 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-7cf61689b348595522e00a5634d9b35e7eb7a25d7ba7e9cce5f02484e1684377.eot
I, [2020-06-25T13:40:05.743019 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-7cf61689b348595522e00a5634d9b35e7eb7a25d7ba7e9cce5f02484e1684377.eot.gz
I, [2020-06-25T13:40:05.743128 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-5e54feb2d8cde6b938fa70c95c8e928eff34859e8aaa965b47320872a87ce547.eot
I, [2020-06-25T13:40:05.743447 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-5e54feb2d8cde6b938fa70c95c8e928eff34859e8aaa965b47320872a87ce547.eot.gz
I, [2020-06-25T13:40:05.743775 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-e938fcdde52485595e32c17bcf19a8ff23390e2081b52352d8a345f5170dce7f.svg
I, [2020-06-25T13:40:05.746658 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-e938fcdde52485595e32c17bcf19a8ff23390e2081b52352d8a345f5170dce7f.svg.gz
I, [2020-06-25T13:40:05.746843 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-934a94434bf9d70c1240a78d5fe78757ff91d1264ae00a1741450e0eef8e9493.eot
I, [2020-06-25T13:40:05.748405 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-934a94434bf9d70c1240a78d5fe78757ff91d1264ae00a1741450e0eef8e9493.eot.gz
I, [2020-06-25T13:40:05.748519 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-d20f2c71ef1e9a5b46e2aacfad2f759e8abdb20fce27fd6bc7d401af8fa7c93a.svg
I, [2020-06-25T13:40:05.748680 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-d20f2c71ef1e9a5b46e2aacfad2f759e8abdb20fce27fd6bc7d401af8fa7c93a.svg.gz
I, [2020-06-25T13:40:05.748788 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-46cf582bfe3502172a3a4d54cfd380444289c03c9480a107f00c190db3722950.svg
I, [2020-06-25T13:40:05.749272 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-46cf582bfe3502172a3a4d54cfd380444289c03c9480a107f00c190db3722950.svg.gz
I, [2020-06-25T13:40:05.749361 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-2bbd3e05518ff1f338c9c223dbb70f09733bc58ea9370a6488bc07e911ac433f.ttf
I, [2020-06-25T13:40:05.749498 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-2bbd3e05518ff1f338c9c223dbb70f09733bc58ea9370a6488bc07e911ac433f.ttf.gz
I, [2020-06-25T13:40:05.749580 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-370a10b3877b873b2a1ef13ec5829cca64b323dd05199dbfa7fa80e7a2b8fb65.ttf
I, [2020-06-25T13:40:05.749656 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-370a10b3877b873b2a1ef13ec5829cca64b323dd05199dbfa7fa80e7a2b8fb65.ttf.gz
I, [2020-06-25T13:40:05.749736 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-7d974fa4f60281b1e72f8016c13a6bad8f04958bcd04a69e4000ca573c88e8db.ttf
I, [2020-06-25T13:40:05.749889 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-7d974fa4f60281b1e72f8016c13a6bad8f04958bcd04a69e4000ca573c88e8db.ttf.gz
I, [2020-06-25T13:40:05.749969 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-e9fa99e59489b4d9270af15949c0df98b805649278b41063f4221819b3d8772e.woff
I, [2020-06-25T13:40:05.750104 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-ecc54652d705cda26767bc7dd7516893e0d2838b79be2427cb9188f9e4a64eff.woff
I, [2020-06-25T13:40:05.750221 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-fda129aceafe7c9c766010fbc4461fa2eb86563d80bbc15f0442dc7c674d9e39.woff
I, [2020-06-25T13:40:05.750377 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-30f8635d0db9d15cac246e0402c02fdfa75eec896dc568f83a9012ed5ec47002.woff2
I, [2020-06-25T13:40:05.750504 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-23fed01aa8356304efa21c764adac85d840c3feafe988ce828e322f0001aabe6.woff2
I, [2020-06-25T13:40:05.750617 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-8359fc529007778d3a4d7019896d9c149233a62cc34255c2c5bd2a3bb77f97da.woff2
I, [2020-06-25T13:40:05.750749 #385]  INFO -- : Writing /tmp/build/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js
I, [2020-06-25T13:40:05.750808 #385]  INFO -- : Writing /tmp/build/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz
I, [2020-06-25T13:40:05.750882 #385]  INFO -- : Writing /tmp/build/public/assets/favicon-d3e220a5d00985ec7043ba5c160cac8a73df50fba21d2fbb684af206efe8eca3.ico
I, [2020-06-25T13:40:05.750952 #385]  INFO -- : Writing /tmp/build/public/assets/favicon-d3e220a5d00985ec7043ba5c160cac8a73df50fba21d2fbb684af206efe8eca3.ico.gz
I, [2020-06-25T13:40:05.751036 #385]  INFO -- : Writing /tmp/build/public/assets/intro_images/b5-24f610966758d9561e1a2189f285c71bcad9488e4ed27080551cc5aeeaba0109.jpg
I, [2020-06-25T13:40:05.751147 #385]  INFO -- : Writing /tmp/build/public/assets/intro_images/e5-8bfbdc9416d890df0e3d69fd1587b7c5a4c98fd2629895e365327a89b41392cd.jpg
I, [2020-06-25T13:40:05.751261 #385]  INFO -- : Writing /tmp/build/public/assets/user-fb72496d9b86b96d0eaa9cb88d48193837d6d2693e24a554c078f5a78c7a86d9.svg
I, [2020-06-25T13:40:05.751327 #385]  INFO -- : Writing /tmp/build/public/assets/user-fb72496d9b86b96d0eaa9cb88d48193837d6d2693e24a554c078f5a78c7a86d9.svg.gz
I, [2020-06-25T13:40:05.751403 #385]  INFO -- : Writing /tmp/build/public/assets/actiontext-78d6bd0b133feb077026c9c40bc115ede8d2ce4370d027a5178d1ceb51163cf4.css
I, [2020-06-25T13:40:05.751456 #385]  INFO -- : Writing /tmp/build/public/assets/actiontext-78d6bd0b133feb077026c9c40bc115ede8d2ce4370d027a5178d1ceb51163cf4.css.gz
I, [2020-06-25T13:40:05.751529 #385]  INFO -- : Writing /tmp/build/public/assets/application-367c80df5c492b1077317aca85a249037bfa4aac4ea5ae11e36d20f81d6c3900.css
I, [2020-06-25T13:40:05.751583 #385]  INFO -- : Writing /tmp/build/public/assets/application-367c80df5c492b1077317aca85a249037bfa4aac4ea5ae11e36d20f81d6c3900.css.gz
I, [2020-06-25T13:40:05.751762 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-934a94434bf9d70c1240a78d5fe78757ff91d1264ae00a1741450e0eef8e9493.eot.gz
I, [2020-06-25T13:40:05.751856 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-8359fc529007778d3a4d7019896d9c149233a62cc34255c2c5bd2a3bb77f97da.woff2
I, [2020-06-25T13:40:05.751993 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-fda129aceafe7c9c766010fbc4461fa2eb86563d80bbc15f0442dc7c674d9e39.woff
I, [2020-06-25T13:40:05.752136 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-7d974fa4f60281b1e72f8016c13a6bad8f04958bcd04a69e4000ca573c88e8db.ttf
I, [2020-06-25T13:40:05.752268 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-7d974fa4f60281b1e72f8016c13a6bad8f04958bcd04a69e4000ca573c88e8db.ttf.gz
I, [2020-06-25T13:40:05.752340 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-46cf582bfe3502172a3a4d54cfd380444289c03c9480a107f00c190db3722950.svg
I, [2020-06-25T13:40:05.764778 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-solid-900-46cf582bfe3502172a3a4d54cfd380444289c03c9480a107f00c190db3722950.svg.gz
I, [2020-06-25T13:40:05.765368 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-370a10b3877b873b2a1ef13ec5829cca64b323dd05199dbfa7fa80e7a2b8fb65.ttf.gz
I, [2020-06-25T13:40:05.765753 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-regular-400-d20f2c71ef1e9a5b46e2aacfad2f759e8abdb20fce27fd6bc7d401af8fa7c93a.svg.gz
I, [2020-06-25T13:40:05.766487 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-2bbd3e05518ff1f338c9c223dbb70f09733bc58ea9370a6488bc07e911ac433f.ttf.gz
I, [2020-06-25T13:40:05.777707 #385]  INFO -- : Writing /tmp/build/public/assets/font-awesome/fa-brands-400-e938fcdde52485595e32c17bcf19a8ff23390e2081b52352d8a345f5170dce7f.svg.gz
I, [2020-06-25T13:40:05.777811 #385]  INFO -- : Writing /tmp/build/public/assets/cookies-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-06-25T13:40:05.777869 #385]  INFO -- : Writing /tmp/build/public/assets/cookies-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
I, [2020-06-25T13:40:05.777948 #385]  INFO -- : Writing /tmp/build/public/assets/msgs-d9c0994d8c78cb26d157f2232cbb3601c4e7995618454b5f84292409753775b8.css
I, [2020-06-25T13:40:05.778002 #385]  INFO -- : Writing /tmp/build/public/assets/msgs-d9c0994d8c78cb26d157f2232cbb3601c4e7995618454b5f84292409753775b8.css.gz
I, [2020-06-25T13:40:05.778076 #385]  INFO -- : Writing /tmp/build/public/assets/pages-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-06-25T13:40:05.778129 #385]  INFO -- : Writing /tmp/build/public/assets/pages-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
I, [2020-06-25T13:40:05.778233 #385]  INFO -- : Writing /tmp/build/public/assets/shared-27cf9068f3fe422fff2f375ccbfb1c14ca229b160097c8e83849cb015dc8cf11.css
I, [2020-06-25T13:40:05.778293 #385]  INFO -- : Writing /tmp/build/public/assets/shared-27cf9068f3fe422fff2f375ccbfb1c14ca229b160097c8e83849cb015dc8cf11.css.gz
I, [2020-06-25T13:40:05.778368 #385]  INFO -- : Writing /tmp/build/public/assets/spkrs-bf4f16e2f5243d0344fcb58bab406005db0d288cf8efcd66a13f84167677d13b.css
I, [2020-06-25T13:40:05.778424 #385]  INFO -- : Writing /tmp/build/public/assets/spkrs-bf4f16e2f5243d0344fcb58bab406005db0d288cf8efcd66a13f84167677d13b.css.gz
I, [2020-06-25T13:40:05.778499 #385]  INFO -- : Writing /tmp/build/public/assets/tlk_follows-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-06-25T13:40:05.778551 #385]  INFO -- : Writing /tmp/build/public/assets/tlk_follows-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
I, [2020-06-25T13:40:05.778627 #385]  INFO -- : Writing /tmp/build/public/assets/tlk_requests-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-06-25T13:40:05.778678 #385]  INFO -- : Writing /tmp/build/public/assets/tlk_requests-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
I, [2020-06-25T13:40:05.778751 #385]  INFO -- : Writing /tmp/build/public/assets/tlks-ea1b2260434f065490ed712daa84c589d7f37cd74dc9b0fda0834709d1c8ee5d.css
I, [2020-06-25T13:40:05.778804 #385]  INFO -- : Writing /tmp/build/public/assets/tlks-ea1b2260434f065490ed712daa84c589d7f37cd74dc9b0fda0834709d1c8ee5d.css.gz
I, [2020-06-25T13:40:05.778878 #385]  INFO -- : Writing /tmp/build/public/assets/user_follows-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-06-25T13:40:05.778940 #385]  INFO -- : Writing /tmp/build/public/assets/user_follows-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
I, [2020-06-25T13:40:05.779013 #385]  INFO -- : Writing /tmp/build/public/assets/users-0a17b15413a7816f33245dd5fd74397224aa4e8ebf1938b3f5d723d733a104c0.css
I, [2020-06-25T13:40:05.779064 #385]  INFO -- : Writing /tmp/build/public/assets/users-0a17b15413a7816f33245dd5fd74397224aa4e8ebf1938b3f5d723d733a104c0.css.gz
I, [2020-06-25T13:40:05.779137 #385]  INFO -- : Writing /tmp/build/public/assets/variables-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css
I, [2020-06-25T13:40:05.779190 #385]  INFO -- : Writing /tmp/build/public/assets/variables-04024382391bb910584145d8113cf35ef376b55d125bb4516cebeb14ce788597.css.gz
Webpacker requires Node.js ">=10.17.0" and you are using v10.15.3
Please upgrade Node.js https://nodejs.org/en/download/
Exiting!

!
!     Precompiling assets failed.
!

嗨,恐怕这是一个我非常不熟悉的领域,所以我可能不擅长提出正确的问题。

我有一个 Ruby on Rails 项目部署在 ubuntu 服务器 + S3 上用于存储。我刚刚执行了纱线升级和捆绑包更新来处理一些安全依赖关系。当我去将我的应用程序部署到服务器(git push dokku master(时,我遇到了上面的错误。

我的应用程序上没有 Node.js...据我所知(就像我在全球范围内搜索"node.js"或"nodejs"一样,我找不到它(。

我认为我的服务器上没有它?但我不确定...

我发现另一个人从 2020 年 6 月 14 日开始在网上谈论这个问题(https://www.guj.com.br/t/heroku-com-node-incompativel/405283(,所以也许这是新的东西。

我的应用程序是 Rails 6,运行在边缘分支上。

我不知道如何进行。

更新:正如@engineersmnky指出的那样,这是一个构建包错误......

现在我的服务器上没有指定的构建包(只有那些默认的?在我的rails应用程序中?不确定这一点(。

我正在使用Dokku,它使用Heroku构建包。默认的 rails 运行节点 10.15.3 (https://devcenter.heroku.com/changelog-items/1657(,与给我带来麻烦的版本相同......

Heroku 建议添加多个构建包 (https://devcenter.heroku.com/articles/ruby-support#installed-binaries(,一个首先安装 nodejs,另一个执行 ruby。

$ heroku buildpacks:add heroku/nodejs
$ heroku buildpacks:add heroku/ruby

问题1

如果我用 dokku 这样做,我会写:

$ dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-nodejs.git
$ dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-ruby.git

(见:http://dokku.viewdocs.io/dokku/deployment/methods/buildpacks/#adding-custom-buildpacks(

问题2

然后它说我需要更新我的 package.json 文件,并添加类似以下内容的内容:

"完成此操作后,您将需要在应用程序的根目录中使用package.json文件。例如,要安装版本 8.9.4,您的 package.json 可能如下所示:

{ "engines" : { "node": "8.9.4" } }

如果我已经有一个 package.json 文件,我可以简单地更新它来更新我的构建包吗?还是我需要执行上面的步骤 1?(问题1的答案(?

我目前的包.json是:

{
"name": "taaalk_edge",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0",
"@rails/actiontext": "^6.0.2-1",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "4.2.2",
"trix": "^1.0.0",
"turbolinks": "^5.2.0",
"websocket-extensions": "0.1.4"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.10.1"
}
}

问题3

我读到有一个.nvmrc文件...https://github.com/nvm-sh/nvm#nvmrc

哪个可以指定节点版本...但前提是我安装了 nvm?但我不知道我是否可以在服务器上安装它。

现在(2021 年 3 月(似乎 heroku 构建包只包含节点 v10.15.3,而当前的 webpacker 5(附带 rails 6.1.1(需要 Node.js">=10.17.0"。

对于我们的项目,我可以通过恢复到 webpacker 4.2.2 来解决这个问题。

Webpacker 是节点和 ruby 之间的桥梁,您需要一个 gem 和一个软件包,并且需要设置两次版本:

  • Gemfile设置了 Rubygem 'webpacker', '~> 4.2.2'的版本
  • package.json设置节点"@rails/webpacker": "4.2.2"的版本

附言还不是解决方案:Heroku 提供了一段时间内具有正确节点版本的构建包,但将其回滚:https://devcenter.heroku.com/changelog-items/1818

这不是答案,我只是在问题中最大化了字符数......

更新问题 2

我试图通过添加"引擎"来更新我的 package.json 文件:

{
"name": "taaalk_edge",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0",
"@rails/actiontext": "^6.0.2-1",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "4.2.2",
"trix": "^1.0.0",
"turbolinks": "^5.2.0",
"websocket-extensions": "0.1.4"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.10.1"
},
"engines": {
"node": ">=10.17.0"
}
}

这行不通...虽然我的错误发生了变化:(我移动到我的暂存环境,所以我不会破坏我的服务器...... - 在此更改之前,我在暂存时遇到了相同的错误。

yarn install v1.16.0
remote:        [1/5] Validating package.json...
remote:        error taaalk_edge@0.1.0: The engine "node" is incompatible with this module. Expected version ">=10.17.0". Got "10.15.3"
remote:        error Found incompatible module.
remote:        info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
remote:        rake aborted!
remote:        Sprockets::FileNotFound: couldn't find file 'trix/dist/trix' with type 'text/css'
remote:        Checked in these paths: 
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/app/assets/config
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/app/assets/images
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/app/assets/stylesheets
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/jquery-rails-4.4.0/vendor/assets/javascripts
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/bundler/gems/rails-75f6539d0e94/actioncable/app/assets/javascripts
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/bundler/gems/rails-75f6539d0e94/activestorage/app/assets/javascripts
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/bundler/gems/rails-75f6539d0e94/actionview/app/assets/javascripts
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/turbolinks-source-5.2.0/lib/assets/javascripts
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/node_modules
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/font-awesome-sass-5.12.0/assets/stylesheets
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/font-awesome-sass-5.12.0/assets/fonts
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/popper_js-1.16.0/assets/javascripts
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/bootstrap-4.4.1/assets/stylesheets
remote:          /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/bootstrap-4.4.1/assets/javascripts
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/app/assets/stylesheets/actiontext.scss:6
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/resolve.rb:62:in `resolve!'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/directive_processor.rb:409:in `resolve'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/directive_processor.rb:216:in `process_require_directive'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/directive_processor.rb:189:in `block in process_directives'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/directive_processor.rb:187:in `each'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/directive_processor.rb:187:in `process_directives'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/directive_processor.rb:84:in `_call'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/directive_processor.rb:65:in `call'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `reverse_each'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `call_processors'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182:in `load_from_unloaded'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59:in `block in load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337:in `fetch_asset_from_dependency_cache'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43:in `load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44:in `load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:27:in `call'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `reverse_each'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `call_processors'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182:in `load_from_unloaded'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59:in `block in load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337:in `fetch_asset_from_dependency_cache'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43:in `load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44:in `load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:32:in `block in call'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/bundle.rb:31:in `call'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:84:in `call_processor'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `reverse_each'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/processor_utils.rb:65:in `call_processors'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:182:in `load_from_unloaded'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:59:in `block in load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:337:in `fetch_asset_from_dependency_cache'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/loader.rb:43:in `load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/cached_environment.rb:44:in `load'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/base.rb:81:in `find_asset'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/base.rb:88:in `find_all_linked_assets'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/sprockets-4.0.2/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `block in synchronize'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb:19:in `execute'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/promise.rb:563:in `block in realize'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:353:in `run_task'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:342:in `block (3 levels) in create_worker'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:325:in `loop'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:325:in `block (2 levels) in create_worker'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:324:in `catch'
remote:        /tmp/build_86f89cfa12b3b627f37d78e976bb3589/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb:324:in `block in create_worker'
remote:        Tasks: TOP => assets:precompile
remote:        (See full trace by running task with --trace)
remote: 
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote: 
remote:  !     Push failed
remote: Verifying deploy...
remote: 
remote: !   Push rejected to taaalkco.

我的下一个计划是添加新的构建包。

进一步更新...

我添加了新的构建包,它部署了,但应用程序在 heroku 上崩溃了。

我试图用这个来解决:

https://dev.to/lawrence_eagles/causes-of-heroku-h10-app-crashed-error-and-how-to-solve-them-3jnl#:~:text=This%20error%20is%20thrown%20if,App%20crashed%20error%20code%20message。

但是没有运气...

更新

现在正在研究 heroku。它崩溃了,因为我没有在 heroku 上设置 ENV 变量。

是时候更新我的 dokku 构建包了。

我得到了同样的错误,然后我这样做了:-

我使用命令安装节点

nvm install 10.17.0

其中nvm节点版本管理器

然后使用命令使用它

nvm use 10.17.0

现在终于使用此命令

rails webpacker:install

就我而言,它奏效了。

最新更新