在 bundle update之后,我的 Rails 应用程序无法启动:
bundle update
Expected to find a manifest file in `app/assets/config/manifest.js` (Sprockets::Railtie::ManifestNeededError)
最近发布了一个新的主要版本的链轮,它与以前的版本不兼容。
在 Gemfile,要么执行 升级所需的步骤,要么别针到版本3. x
gem 'sprockets', '~>3.0'
看来你升级了链轮。后来的版本的链轮需要什么是所谓的 manifest.js文件。你没有。您需要创建一个,并添加一些“指令”。
manifest.js
在旧版本的链轮中,对于捆绑/连接什么资产做了很大的假设 * * ——顺便说一句,这就是链轮的作用。
“请给我链轮”
abc
xyz
admin.js
创建 Manif.js 文件
$ mkdir -p app/assets/config $ touch app/assets/config/manifest.js (not the root rails directory)
然后将下面的 复制粘贴添加到您刚才创建的 Manif.js 文件中:
//= link_tree ../images //= link_directory ../javascripts .js //= link_directory ../stylesheets .css
这些常见的东西 //=被称为“指令”。
//=
如果你还没有这样做,请查看 链轮文档,省去一些麻烦。下面是一个小例子:
让我们翻译一下 //= link_directory ../javascripts .js指令:
//= link_directory ../javascripts .js
抓取 javascript 目录中的每个 js文件,将它们连接起来,并将它们保存为 SEPARATE javascript 文件,即不进行捆绑如果需要捆绑,请使用不同的指令。
js
您还应该有一个 javascript_include_tag,它通常放在 application.html.erb文件中。如果您有其他文件 js 文件是单独绑定的,不要忘记将它们添加到 application.html.erb,例如:
javascript_include_tag
application.html.erb
<%= javascript_include_tag "application", "addOtherFiles", "here", "etc", "data-turbo-track": "reload", defer: true %>
如果你有一个预编译数组在你的 app/config/environments/production.rb文件夹(见下面的一个例子) ,那么也许你应该把他们移动到你的 manifest.js,如果他们还没有访问上面。
app/config/environments/production.rb
Precoding = [“ admin.js”,“ admin.css”]
想必您希望将 admin.js javascript 文件与 application.js文件分开。没问题,只要告诉链轮保持它们分开:
application.js
//= link_tree ../images //= link_directory ../javascripts .js //= link_directory ../stylesheets .css //= link "admin.js"
参考文献: read here 获取更多详细信息 re: Manif.js. file
来源: 感谢 Richard Schneeman 的博客-更多信息请点击这里。
编辑: 如果事情令人困惑/不清楚: 大声抱怨!如果你保持沉默,我怎么能修复?每个人都从这些改进中受益。
正如链接 http://www.redmine.org/boards/2/topics/58169所建议的,这是一个已知的问题。参见 # 32223和 sprockets 4.0.0使用 Ruby < 2.5.0破坏 Redmine 3.4.11。
我刚用 Redmine 3.4.4复制了这个问题,但发现 Redmine 3.4.12没有问题。
我们得到 http://www.redmine.org/releases/redmine-3.4.12.tar.gz
根据 回答我,你可以用以下方法解决这个问题:
mkdir -p app/assets/config && echo '{}' > app/assets/config/manifest.js
如果您需要更多的细节,这个帖子里的答案有助于指向 从链轮3. x 升级到4. x 的指南