我可以从Rails应用程序中删除/ vendor文件夹吗?

时间:2013-09-04 19:29:49

标签: ruby-on-rails heroku ruby-on-rails-plugins

我正在使用Ruby 1.9.3p194和Rails 3.2.13并且新创建了一个包含/vendor文件夹和.gitkeep文件的Rails应用程序:

/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文件夹是否可以完全删除而不会产生任何负面后果?

5 个答案:

答案 0 :(得分:2)

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

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

使用

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

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

答案 1 :(得分:2)

你在Heroku上收到这条消息,因为在Rails 3中,他们在编译时为注册和管道注入插件。

如果您添加

,请阻止这些弃用通知
gem 'rails_12factor', group: 'production' 

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

答案 2 :(得分:1)

删除此目录不会有任何损失。但仅删除/vendor/plugins就足够了,因此实际上不需要删除整个/vendor路径。

答案 3 :(得分:1)

Rails 4.0应用只有/vendor/assets/javascripts/vendor/assets/stylesheets,除了.keep文件外,它们都是空的。

鉴于它是空的,你当然可以删除/vendor/plugins(它应该除去弃用警告)。我会离开/vendor/assets目录。

答案 4 :(得分: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中。因此,构建,编译和部署完全由运行服务器的计算机完成。

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