我的目标是:
创建一个 ruby 应用程序(graylog2-web-client)的自包含 tar.gz,我可以在没有互联网连接且仅安装 ruby 1.9.3(rvm、bundler 等)的盒子上安装和运行它不可用)。
我已经正确安装并启动了该应用程序,现在我希望将其打包并将其移动到目标框。
更新问题:
我使用 bundle install --development 来确保所有 gem 都在供应商/缓存中。我把包裹去皮重,然后把它移到新盒子里。我更新了我的路径,以便我的 1.9.3 ruby 安装在默认的 1.8.x 之前。
ruby --version
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]
但是,当我跑步时 RAILS_ENV=production script/rails server
我得到需求/依赖错误:
/usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- bundler/setup (LoadError)
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /opt/graylog2-web-interface-0.11.0/config/boot.rb:6:in `<top (required)>'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from script/rails:5:in `<main>'
我的供应商目录:
├── bundle
│ └── ruby
│ └── 1.9.1
├── cache
│ ├── actionmailer-3.2.13.gem
│ ├── actionpack-3.2.13.gem
│ ├── activemodel-3.2.13.gem
...... lots more gems.......
我将它捆绑在 1.9.3 下,为什么我的捆绑包显示 1.9.1?