0

我将 Ruby 1.9.3p194 与 Rails 3.2.13 一起使用,并新创建了一个 Rails 应用程序,其中包含包含/vendor文件的文件夹.gitkeep

/vendor/assets/javascripts
/vendor/assets/stylesheets
/vendor/plugins

所有文件夹都是空的。

当我在 Heroku 上运行此应用程序时,它会发出警告:

DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins!
Support for these plugins will be removed in Rails 4.0. Move them out
and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/*
and config/initializers/myplugin.rb. See the release notes for more on this:
http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released.
(called from <top (required)> at /app/config/environment.rb:5)

可以完全删除此/vendor文件夹而不会产生任何负面影响吗?

4

5 回答 5

3

我没有安装这个版本的 Rails 来测试它,但我可以提供一个建议来代替明确的答案。

只需将 /vendor 文件夹重命名为其他名称,然后尝试再次运行该应用程序。看看它是失败(或其他一些负面后果),还是成功(不需要)。即使它成功了,您也可以随时保留它,以备将来需要时使用。

利用

mv old-folder-name new-folder-name
so...
mv /vendor /vendor.backup

它下的所有内容都将保留在 /vendor.backup

于 2013-09-04T19:42:41.530 回答
2

您会在 Heroku 上收到此消息,因为使用 Rails 3 他们在编译时注入插件用于日志记录和管道。

为了防止这些弃用通知,如果您添加

gem 'rails_12factor', group: 'production' 

到您的 gemfile 中,它们将消失,因为此 gem 提供与先前注入的插件相同的功能。这最近出现在 Heroku Changelog 上 - 请参阅https://devcenter.heroku.com/changelog-items/318

于 2013-09-04T19:54:51.703 回答
1

不,删除这个目录不会有什么坏处。但是仅仅删除就足够了,/vendor/plugins因此实际上不需要删除整个/vendor路径。

于 2013-09-04T19:42:28.360 回答
1

Rails 4.0 应用程序只有/vendor/assets/javascriptsand /vendor/assets/stylesheets,除了.keep文件是空的。

鉴于它是空的,您当然可以删除/vendor/plugins(这应该摆脱弃用警告)。我会留下/vendor/assets目录。

于 2013-09-04T19:42:34.327 回答
0
vendor/bundle/ruby/2.6.0/gems/sassc-2.4.0/ext/libsass.so: cannot open shared object file: No such file or directory

当我在服务器上部署时遇到一些麻烦,比如扩展“.so”的编译。我删除本地应用程序的供应商/捆绑包或将其添加到 gitignore。因此构建、编译和部署完全由运行服务器的机器完成。

您的本地机器和运行服务器的机器总是不同的。

于 2020-10-25T10:17:56.257 回答