【问题标题】:Heroku Ruby / Rails Cache Webpack + Yarn Between DeploysHeroku Ruby / Rails 缓存 Webpack + Yarn 部署之间
【发布时间】:2018-06-04 12:54:23
【问题描述】:

我目前使用 webpacker 设置了一个全新的 ruby​​ / rails 应用程序。每次部署到 Heroku 都需要额外的 30 多秒来重新安装纱线依赖项(运行 yarn install)。

remote:        [1/4] Resolving packages...
remote:        [2/4] Fetching packages...
remote:        info fsevents@1.1.3: The platform "linux" is incompatible with this module.
remote:        info "fsevents@1.1.3" is an optional dependency and failed compatibility check. Excluding it from installation.
remote:        [3/4] Linking dependencies...
remote:        warning "babel-loader@7.1.2" has incorrect peer dependency "babel-core@6 || 7 || ^7.0.0-alpha || ^7.0.0-beta || ^7.0.0-rc".
remote:        warning "babel-loader@7.1.2" has incorrect peer dependency "webpack@2 || 3".
remote:        warning "compression-webpack-plugin@1.1.2" has incorrect peer dependency "webpack@^2.0.0 || ^3.0.0".
remote:        warning "extract-text-webpack-plugin@3.0.2" has incorrect peer dependency "webpack@^3.1.0".
remote:        warning "file-loader@1.1.5" has incorrect peer dependency "webpack@^2.0.0 || ^3.0.0".
remote:        warning "postcss-cssnext@3.0.2" has incorrect peer dependency "caniuse-lite@^1.0.30000697".
remote:        warning "rails-erb-loader@5.2.1" has incorrect peer dependency "webpack@^2.0.0 || >= 3.0.0-rc.0 || ^3.0.0".
remote:        warning "sass-loader@6.0.6" has incorrect peer dependency "node-sass@^4.0.0".
remote:        warning "sass-loader@6.0.6" has incorrect peer dependency "webpack@^2.0.0 || >= 3.0.0-rc.0 || ^3.0.0".
remote:        warning "url-loader@0.6.2" has incorrect peer dependency "file-loader@*".
remote:        warning "webpack-manifest-plugin@1.3.2" has incorrect peer dependency "webpack@1 || 2 || 3".
remote:        warning "ajv-keywords@2.1.1" has incorrect peer dependency "ajv@^5.0.0".
remote:        warning "uglifyjs-webpack-plugin@0.4.6" has incorrect peer dependency "webpack@^1.9 || ^2 || ^2.1.0-beta || ^2.2.0-rc || ^3.0.0".
remote:        warning "babel-plugin-transform-vue-jsx@3.5.0" has incorrect peer dependency "babel-helper-vue-jsx-merge-props@^2.0.0".
remote:        warning "babel-plugin-transform-vue-jsx@3.5.0" has incorrect peer dependency "babel-plugin-syntax-jsx@^6.8.0".
remote:        warning "vue-loader@13.5.0" has incorrect peer dependency "css-loader@*".
remote:        warning "webpack-dev-server@2.9.7" has incorrect peer dependency "webpack@^2.2.0 || ^3.0.0".
remote:        warning "webpack-dev-middleware@1.12.2" has incorrect peer dependency "webpack@^1.0.0 || ^2.0.0 || ^3.0.0".
remote:        [4/4] Building fresh packages...
remote:        Done in 33.50s.
remote:        Webpacker is installed ???? ????

我目前在heroku-16 堆栈上使用heroku/ruby buildpack。 有什么简单的方法可以让缓存像打包程序一样工作吗?

【问题讨论】:

    标签: ruby-on-rails heroku


    【解决方案1】:

    也许您可以在 Heroku 堆栈之外添加 a second nodejs buildpack

    heroku buildpacks:add --index 1 heroku/nodejs
    

    nodejs buildpack 应该支持如here 所述的纱线缓存。

    【讨论】:

    • 这里是关于 rails/webpacker 的讨论,其中也谈到了使用 nodejs buildpack:github.com/rails/webpacker/issues/405#issuecomment-332682225
    • 这不适用于 Rails。导致 Heroku 安装 yarn 依赖两次...
    • 在@DerekHopper 之前发布的链接中,人们成功地从rails 项目中删除了bin/yarn,以防止rails 再次安装deps。也许你可以试试那个,看看它是否有效?当缓存 deps 起作用时,运行 yarn install 两次可能仍然更快,是吗?
    猜你喜欢
    • 2013-05-25
    • 2023-03-31
    • 2012-05-23
    • 2019-04-01
    • 1970-01-01
    • 2012-08-15
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多