【问题标题】:After pushing RoR project to server, receive Node.js version error [Buildpack issue]将 RoR 项目推送到服务器后,收到 Node.js 版本错误 [Buildpack 问题]
【发布时间】:2020-10-15 22:48:15
【问题描述】:
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 上进行存储。我刚刚执行了 yarn upgrade 和 bundle update 来处理一些安全依赖。当我将我的应用程序部署到服务器(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 指出的,这是一个 buildpack 错误...

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

我正在使用 Dokku,它使用 Heroku 构建包。默认的 rails one 运行节点 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 文件,我可以简单地更新它来更新我的 buildpack 吗?还是我需要做上面的第 1 步? (问题1的答案)?

我当前的 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"
  }
}

问题 3

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

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

【问题讨论】:

  • 如果你使用yarn,你肯定有node(这是一个先决条件)。您需要做的是更新服务器上的node 以满足最低要求。你如何去做取决于服务器上已有的东西。我通常推荐nvm 作为包管理器,但您也可以直接从其他包管理器安装/升级节点,例如aptyum 等。Here 是在各种情况下安装/更新节点的好指南。
  • 谢谢@engineersmnky。这可能是一个愚蠢的问题,但我可以在我的服务器上安装 nvm 吗? (不仅仅是我的本地计算机)
  • 由于服务器是ubuntu,本指南可能有助于安装nodejs github.com/nodesource/distributions/blob/master/…。如果只有 1 个版本的 nodejs,你可能不需要 nvm
  • @duykhoa,谢谢.. 有点奇怪,但我无法在我的服务器上运行 node -v (在我升级之前)。我有点惊讶,因为该应用程序到目前为止一直运行良好(使用 webpacker)
  • 嗯,我安装了它......关键时刻......现在部署

标签: node.js ruby-on-rails deployment webpacker dokku


【解决方案1】:

目前(2021 年 3 月)heroku buildpack 似乎只包含 node v10.15.3,而当前的 webpacker 5(rails 6.1.1 附带)需要 Node.js ">=10.17.0"。

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

Webpacker 是 node 和 ruby​​ 之间的桥梁,你需要一个 gem 和一个包,并且需要设置两次版本:

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

附言还没有解决方案:heroku 提供了一个带有正确节点版本的 buildpack 一段时间,但回滚了:https://devcenter.heroku.com/changelog-items/1818

【讨论】:

    【解决方案2】:

    这不是答案,我只是把问题中的字符数加满了……

    更新问题 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 构建包了。

    【讨论】:

    • 你是怎么解决的?哪个 ENV 变量影响节点版本?
    【解决方案3】:

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

    我使用命令安装节点

    nvm install 10.17.0
    

    nvm节点版本管理器

    然后使用命令来使用它

    nvm use 10.17.0
    

    现在终于用这个命令了

    rails webpacker:install
    

    就我而言,它有效。

    【讨论】:

    • 这是在本地运行应用程序的解决方案,而不是在 dokku 上
    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多