Как развернуть приложение с моим форком пакета через Yarn и Capistrano? - PullRequest
0 голосов
/ 05 мая 2019

Я использую Capistrano для развертывания моего Rails-приложения.

assets:precompile не удается из-за использования старого кода. Почему он не использует только что установленный пакет пряжи?


Я разбудил @fancyapps/fancybox репо, чтобы решить эту проблему .

  1. Прикоснулся к одному файлу.
  2. Ран gulp Задание.
  3. толкнул на развилку к новой ветке под названием unquote-max-css-function

Теперь пришло время использовать его в моем проекте.

Ран yarn upgrade git+ssh://git@github.com:light-flight/fancybox.git#unquote-max-css-function

Локально это работает - все пакеты кода успешно. Но в производстве он использует старые активы во время assets:precompile (см. Журналы ниже).

Я уверен, что Yarn связал мое репо, потому что раньше запрашивал права доступа.

производственная ошибка:


...

00:24 yarn:install
      01 yarn install --production
      01 yarn install v1.12.3
      01 [1/4] Resolving packages...
      01 [2/4] Fetching packages...
      01 warning Pattern ["animate.css@latest"] is trying to unpack in the same destination "/home/deploy/.cache/yarn/v4/npm-animate-css-3.7.0-5de25d…
      01 info fsevents@1.2.9: The platform "linux" is incompatible with this module.
      01 info "fsevents@1.2.9" is an optional dependency and failed compatibility check. Excluding it from installation.
      01 [3/4] Linking dependencies...
      01 warning "@rails/webpacker > pnp-webpack-plugin > ts-pnp@1.1.2" has unmet peer dependency "typescript@*".
      01 warning " > webpack-dev-server@3.3.1" has unmet peer dependency "webpack@^4.0.0".
      01 warning "webpack-dev-server > webpack-dev-middleware@3.6.2" has unmet peer dependency "webpack@^4.0.0".
      01 [4/4] Building fresh packages...
      01 Done in 15.13s.
00:41 deploy:assets:precompile
      01 ~/.rvm/bin/rvm default do bundle exec rake assets:precompile
      01 yarn install v1.12.3
      01 [1/4] Resolving packages...
      01 success Already up-to-date.
      01 Done in 1.30s.
      01 rake aborted!
      01 SassC::SyntaxError: Error: "env(safe-area-inset-right)" is not a number for `max'
      01         on line 11366 of stdin, in function `max`
      01         from line 11366 of stdin
      01 >>     padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-a
      01    ------------------^
      01 stdin:11366
      01 /home/deploy/apps/app/shared/bundle/ruby/2.6.0/gems/sassc-2.0.1/lib/sassc/engine.rb:49:in `render'
      01 /home/deploy/apps/app/shared/bundle/ruby/2.6.0/gems/sassc-rails-2.1.1/lib/sassc/rails/compressor.rb:29:in `call'
      01 /home/deploy/apps/app/shared/bundle/ruby/2.6.0/gems/sprockets-3.7.2/lib/sprockets/sass_compressor.rb:28:in `call'

...

Как видите, он пытается скомпилировать старый код с помощью функции max без кавычек.

Локально успешно компилируется:

$ rails assets:precompile
yarn install v1.15.2
[1/4] Resolving packages...
success Already up-to-date.
Done in 1.42s.
I, [2019-05-05T13:02:34.620408 #10872]  INFO -- : Writing /home/user/apps/app/public/assets/application-6f331dc14f50de04a8e7dd5d4c4882ffbf78cefc5ac4d73294ea48912d74a2a5.css
I, [2019-05-05T13:02:34.620871 #10872]  INFO -- : Writing /home/user/apps/app/public/assets/application-6f331dc14f50de04a8e7dd5d4c4882ffbf78cefc5ac4d73294ea48912d74a2a5.css.gz

Я пытался yarn cache clean, но ничего не изменилось. Как заставить рельсы использовать мою вилку?

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