我正在部署rails应用程序,这就是我目前所做的:
构建应用程序步骤:
现在问题是第2步。
执行捆绑软件包--all 和捆绑软件安装 - 部署后,并非所有宝石都捆绑到vendor / bundle / ruby / 1.9.1 / gems /中,这是来自git路径的宝石,而不是默认的rubygems.org。
➜ luna-server git:(v0.1.0) ✗ bundle show rails /Users/qichunren/code/work/luna-server/vendor/bundle/ruby/1.9.1/gems/rails-3.2.11 ➜ luna-server git:(v0.1.0) ✗ bundle show luna-channel /Users/qichunren/code/work/luna-server/vendor/cache/luna-channel-31bb309440e5
因此,当我在目标机器上运行我的构建rails应用程序时,它会显示一些未安装的gem(例如:luna-channel),请捆绑安装,因为它不在/vendor/bundle/ruby/1.9.1/gems/
有没有办法让捆绑缓存中的所有宝石进入目标捆绑目录?
请帮帮我。感谢。
答案 0 :(得分:0)
--path
link to docs
bundle install
个选项
这告诉bundler安装所有gem的确切路径。
您的开发风格虽然不典型,但我强烈建议您仔细阅读Bundler文档,并确保bundle package
和bundle install --deployment
做什么。
http://gembundler.com/v1.3/deploying.html
http://gembundler.com/v1.3/bundle_package.html
有时很难看出他们何时谈论开发机器或生产机器。
答案 1 :(得分:0)
我修复了我的问题,代码在这里:https://github.com/qichunren/bundler/commit/192c822724f356f2573cabd4fd4ddc1a217b7d8b
如果此更改适用于整个项目,我不会这样做,但这个更改解决了我的问题。