首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设置客车和轨道时的知识缺口

设置客车和轨道时的知识缺口
EN

Stack Overflow用户
提问于 2013-10-11 13:47:36
回答 1查看 572关注 0票数 0

我正试着设置乘客,铁路和Nginx。Nginx正确地路由到乘客,但是当我加载页面时,我会得到以下错误:

代码语言:javascript
复制
cannot load such file -- bundler/setup (LoadError)
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:219:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:333:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:217:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:96:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:150:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `<main>'

我不明白的是:

  • 为什么会有一堆对Ruby1.9.1的引用?我使用1.9.3作为默认值,并在全局1.9.3和用户特定的1.9.3上安装了绑定器。
  • 如何改变哪个用户乘客的运行方式?
  • 我应该在乘客的用户中安装一堆宝石吗?
  • 我是否需要允许www-data (乘客运行在AFAIK上)访问某个创业板目录?
  • 我应该增加GEM_HOME,如果是的话,我应该指向哪个gem目录?
  • 为什么在安装nginx乘客包的过程中没有这样的设置?

我已经安装了班德勒基本上我可以,但一定是错过了一些重要的东西。

  • RVM如何使事情复杂化?
  • 在使用RVM时,我需要知道什么?
  • 系统中的每个用户是否都获得了我在RVM中设置的Ruby版本?如果没有,我怎样才能做到呢?

我觉得我现在已经接近掌握整件事了,但我还没能对解决方案有所了解。

如果您转到http://privateering.me:8000/,您可以看到错误转储的其余部分。

EN

Stack Overflow用户

回答已采纳

发布于 2013-10-11 15:42:57

现在是早上!我喝过咖啡了!我们走吧!

我不明白的是,为什么会有很多提到ruby 1.9.1的地方?

正如tessi所提到的,对于Ruby1.9.3的某些构建来说,路径中的1.9.1是正常的。这很奇怪也很让人困惑,但事实就是如此。这本身并不是立即引起关注的。

此外,如何改变哪个用户乘客的运行方式?

Phusion有一些非常好的Phusion/Nginx文件,它包含所有的配置参数。但这可能没有必要,因为正如与用户相关的文档会告诉您的那样,默认情况下,用户将尝试以拥有它的用户的身份运行每个应用程序。

我也应该在乘客的用户上安装一堆宝石吗?

也许吧。可能不会。请参见上面的。只要有可能,就没有“乘客使用者”。只有当用户切换不可用时,乘客才会回到作为单个用户操作的状态(不管nginx配置了什么)。

为什么在安装nginx乘客包的过程中没有这样的设置?

因为乘客只是一个多租户、多用途的应用服务器。它不知道您是在运行一个应用程序还是运行100个应用程序、Ruby或Python、Rails、Sinatra或Merb,或者是一些自制的应用程序。用户的工作是在告诉应用程序是什么之后运行它;您的工作是使每个应用程序处于可运行的状态。

RVM如何使事情复杂化?在使用RVM时,我需要知道什么?系统中的每个用户是否都获得了我在RVM中设置的ruby版本?如果没有,我怎样才能做到呢?

RVM使事情变得足够复杂。默认情况下,它是在单个用户的基础上安装的,并且只影响单个用户。这正是它的预期用例:当我登录时,我想要一个不同的Ruby,并且不想污染系统。由于RVM的特殊工作方式,还有其他复杂的问题。

但是Phusion意识到,无论出于什么原因,,并在安装文档中介绍了这种情况。都会在生产中使用RVM。

大多数涉及RVM和乘客的痛苦通过将RVM从图片中剔除而容易避免。除非您是在一个极具异国情调的平台上,否则构建一个现代的Ruby是./configure && make && make install的问题。只有一行,您就可以在/usr/local中获得一个稳定的、系统范围的Ruby,您、乘客和其他人都可以很容易地访问。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19319812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档