Heroku Production-ActionView::Template::Error(链轮的未定义方法`directory'::Manifest:number>;)

Heroku Production-ActionView::Template::Error(链轮的未定义方法`directory'::Manifest:number>;),heroku,browserify,sprockets,react-rails,Heroku,Browserify,Sprockets,React Rails,我们有一个rails应用程序。不幸的是,该应用程序可以在本地开发上运行,但在部署到heroku时无法运行。当转到应用程序上的默认路径时,会出现以下错误: ActionView::Template::Error(未定义的#的“目录”方法) 我们发现,在我们看来,它发生在这一行: 关于我们的应用程序,有几点: 它使用browserify编译我们的js.jsx 在删除public/assets文件夹后,我们使用RAILS\u ENV=production bundle exec rake asse

我们有一个rails应用程序。不幸的是,该应用程序可以在本地开发上运行,但在部署到heroku时无法运行。当转到应用程序上的默认路径时,会出现以下错误:
ActionView::Template::Error(未定义的#的“目录”方法)

我们发现,在我们看来,它发生在这一行:

关于我们的应用程序,有几点:

  • 它使用browserify编译我们的js.jsx
  • 在删除public/assets文件夹后,我们使用
    RAILS\u ENV=production bundle exec rake assets:precompile
    进行预编译
  • rails s
    foreman start一起在本地工作
  • 我们使用的是牵引链轮。即使被删除,我们仍然有这个问题
以下是我们的npm依赖项:

"dependencies": {
   "browserify": "^10.2.4",
   "browserify-incremental": "^1.5.0",
   "classnames": "^2.2.3",
   "reactify": "^1.1.0"
}
这是我们的档案

    source 'https://rubygems.org'
    gem 'rails', '4.2.3'
    gem 'rails-api'
    gem 'spring', :group => :development
    gem 'active_model_serializers', '~> 0.10.0.rc1'
    gem 'pg'
    gem 'devise'
    gem 'puma'
    gem 'twitter'
    gem 'react-rails', '~> 1.0'
    gem 'browserify-rails', '~> 0.9.1'
    gem 'bootstrap-sass', '~> 3.2.0'
    gem 'sass-rails', '~> 5.0', '>= 5.0.4'
    gem 'autoprefixer-rails'
    group :test  do
      gem 'rspec-rails'
      gem 'pry'
      gem 'faker'
      gem 'webmock'
    end
    group :development, :test do
      gem 'factory_girl_rails'
    end
    group :production do
      gem 'uglifier'
      gem 'rails_12factor'
      gem 'rspec'
    end
    ruby '2.2.4'

我们将非常感谢您的帮助。

我今天遇到了同样的问题,并遵循了中的建议:。我仍然遇到错误,所以现在我修改了heroku配置(config/environments/staging.rb&config/environments/production.rb)以使用


目前,服务器端渲染工作正常。react rails的人说他们已经完成了一个pull请求来修复这个问题,但我认为它还没有发布。

我今天遇到了同样的问题,并遵循了中的建议:。我仍然遇到错误,所以现在我修改了heroku配置(config/environments/staging.rb&config/environments/production.rb)以使用

目前,服务器端渲染工作正常。react rails的人说他们已经完成了一个pull请求来解决这个问题,但我认为它还没有发布。

潜在相关:

当Rails资产编译器(链轮)找不到指定为项目资产位置的目录时,会发生此错误。我的建议是,确保所有资产都已成功部署到heroku,然后在引用项目中的资产以包含在页面中时,检查路径设置是否正确

另请参见关于React Rails的说明。

潜在相关:

当Rails资产编译器(链轮)找不到指定为项目资产位置的目录时,会发生此错误。我的建议是,确保所有资产都已成功部署到heroku,然后在引用项目中的资产以包含在页面中时,检查路径设置是否正确


另请参见关于React Rails的详细说明。

几个小时来搜索StackOverflow和github问题的解决方案似乎是删除

//= require react_ujs

从资产文件夹中的application.js

数小时来搜索StackOverflow和github问题的解决方案似乎是删除

//= require react_ujs

从资产文件夹中的application.js

react rails
1.6.0中有一个bug,应该在1.6.1中修复

以下是补丁:


如果最新版本不适合您,请在react rails repo上打开一个问题

react rails
1.6.0中有一个bug,应该在1.6.1中修复

以下是补丁:


如果最新版本不适合您,请在react rails repo上打开一个问题

对于遇到此潜在问题解决方案的其他人,不建议按此处所述启用实时编译:对于遇到此潜在问题解决方案的其他人,不建议按此处所述启用实时编译: