【问题标题】:How to completely remove webpack and all its dependencies from Rails App如何从 Rails 应用程序中完全删除 webpack 及其所有依赖项
【发布时间】:2018-08-12 23:04:30
【问题描述】:

我使用包含 webpack 的 this template 创建了我的 rails,我仍然在 app/assets/javascript 中编写我的 javascript 代码。我正在尝试将我的应用程序部署到 heroku,但它一直失败,我收到此错误

“远程:
/tmp/build_6f0656280cbbda40c5832ccb79fc1783/vendor/bundle/ruby/2.3.0/gems/bundler-1.15.2/lib/bundler/rubygems_integration.rb:432:in `block in replace_bin_path':找不到 gem 的可执行 webpack webpacker (Gem::Exception)"

我尝试了很多解决方案,但仍然无法将我的应用部署到 Heroku。我想知道如何从我的应用程序中完全删除 webpack 及其所有依赖项,因为它对我的应用程序甚至没有用

    source 'https://rubygems.org'
ruby '2.3.5'

gem 'figaro'
gem 'jbuilder', '~> 2.0'
gem 'puma'
gem 'rails', '5.1.4'
gem 'redis'
gem 'cloudinary'
gem 'carrierwave', '~> 1.2'
gem 'rails_admin', '~> 1.2'
group :production do
 gem 'pg', '~> 0.20'
end



gem 'autoprefixer-rails'
gem 'bootstrap-sass'
gem 'jquery-rails'
gem 'font-awesome-sass'
gem 'sass-rails'
gem 'simple_form'
gem 'turbolinks', '~> 5.0.0'
gem 'coffee-rails'

gem 'uglifier'
gem 'webpacker'
gem 'devise'
gem 'ransack'
gem 'trix'


gem "letter_opener", group: :development


group :development do
  gem 'web-console', '>= 3.3.0'
  gem 'sqlite3'
end

group :development, :test do
  # gem 'binding_of_caller'
  # gem 'better_errors'
  gem 'pry-byebug'
  gem 'pry-rails'
  gem 'listen', '~> 3.0.5'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

【问题讨论】:

  • 您的bin 路径如何?你那里有webpage 可执行文件吗?可能也值得尝试bundle clean

标签: ruby-on-rails ruby heroku webpack webpack-dev-server


【解决方案1】:
  • 删除bin/webpack或运行bundle exec rake rails:update:bin
  • 删除config/webpacker.yml
  • 删除config/webpack
  • 删除app/javascripts
  • 从config/{development, test, production}.rb 中删除config.webpacker.check_yarn_integrity = false
  • 确认您的 gemfile 中没有 webpacker 并运行 bundle install 或 bundle clean

恕我直言,不要使用生成器创建您的 Rails 应用程序(除非它是您自己的)

【讨论】:

  • 我的 rails 应用程序不包含“.bin/webpack”文件。相反,我删除了“./bin/webpack”。
  • 您还必须在 application.html.erb 中将 '' 更改为 ''。
  • ...并在您的config/environments/development.rb 中添加config.assets.check_precompiled_asset = false。
  • ...并将Rails.application.config.assets.precompile += %w( application.js ) 添加到您的config/initializers/assets.rb 中,否则它将在生产中失败。
猜你喜欢
  • 2019-06-23
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
  • 2020-11-01
  • 2019-03-25
  • 2015-05-28
相关资源
最近更新 更多