问题标签 [geminabox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
295 浏览

ruby - 覆盖捆绑器的发布,但不将其放入 gem

我正在使用 bundler 来管理我的 gem 的依赖项,并且我正在使用 geminabox 来托管我的 gem,一旦它们准备好了。使用 bundler'srake release是个坏消息,因为我的 gems 将转到 ruby​​gems,而不是 geminabox,但是该任务的附加功能(推送标签等)确实很有帮助。

rake release geminabox我写了一个 gem,它增加了and的能力rake release rubygems,但是现在我的库(与 geminabox 无关)依赖于这个 bundler/geminabox 的东西,它又依赖于 geminabox,并且进一步依赖于 sinatra,rack...所有突然我的开发需求很大,只针对我的开发情况。其中一些 gem 将公开发布,其他任何人都不需要这些 geminabox 开发依赖项。

我意识到将 gem 注入 bundler gemset 是 bundler 旨在防止的,所以你会推荐什么作为拥有我自己的自定义发布功能的方法,而不是绑定到 gem 本身?

0 投票
1 回答
171 浏览

ruby - Ruby 服务器响应索引,404s 其他一切

我有一个厨师服务器,我还需要用作 Ruby gem 服务器。当我运行gem server它说Server started at 0.0.0.0:8808。我可以在浏览器中访问主机名:8808 并查看 gem 服务器索引页面,其中列出了我希望看到的所有 gem,但所有其他目录(链接)都给出 404。我已经尝试过运行 gem generate_index 并使用 --legacy 选项。

该框配置为使用 Chef Server 的嵌入式 gem 可执行文件。

列出 /opt/chef-server/embedded/lib/ruby/gems/1.9.1 中的内容显示了 gem 服务器规范中列出的页面的目录(例如 gems、quick、规范)。

我不确定这里的问题是什么。

编辑:我尝试使用 geminabox,而不是 gem 服务器。我看到与github 错误相同的问题,但未解决。

0 投票
1 回答
390 浏览

ruby - 使用 Rack 在非根路径下托管 Sinatra 应用程序

我正在建立一个 Geminabox 存储库,它是一个 Rack 应用程序(基于 Sinatra)。我在Passenger 独立服务器上运行该应用程序。

目前该应用程序托管在根路径之外,因此可在 :3000/

我需要将它托管在非根路径上,例如:3000/rubygems。我在 Rack 应用程序或Passenger 方面没有太多经验,所以我不确定在哪里可以完成这项工作。

那么,在由Passenger、Rack 和Sinatra 组成的应用程序堆栈上,我可以在哪里轻松配置该应用程序以托管在非根路径(如:3000/rubygems)上?

0 投票
0 回答
271 浏览

ruby - 强制 Bundler 使用我的 Gem 源

我正在使用geminabox运行我自己的 gem 服务器。这个 gem 服务器托管几个公共 gem 的私有分支,以及我自己的 gem。我有一个 Gemfile,其来源如下:

当 Bundler 安装一个包时,我希望它始终使用我的 gem 服务器上可用的版本(如果它存在并且满足版本要求)。我不能让它工作。相反,bundler 似乎从 ruby​​gems 中提取,除非它在那里找不到同名的 gem。这可能是因为 ruby​​gems 上的版本更高。但是,bundler 的文档没有提到版本号。这是它描述源优先级的方式:

源优先
级 当尝试定位 gem 以满足 gem 要求时,bundler 使用以下优先级顺序:

显式附加到 gem 的源(使用 :path 或 :git)
对于隐式 gem(显式 gem 的依赖项),任何 git 或路径存储库以其他方式声明。这导致打包程序优先于来自 ruby​​gems.org 的 Rails git 存储库中的 ActiveSupport gem。
通过源指定的源,搜索 Gemfile 中从最后添加到第一次添加的每个源。

另外,我知道可以为 Gemfile 中的每个 gem 显式列出一个源。我宁愿避免这种情况,因为我有很多自己的 gem,并且在 Gemfile 中为依赖项的依赖项创建显式条目很烦人(你必须这样做,因为捆绑程序不会读取依赖项的 Gemfile)。

我怎样才能实现我的目标?

0 投票
3 回答
1247 浏览

rubygems - 如何将 gem 上传到 geminabox?

当我将 gem 上传到 geminabox 时,我到底应该上传什么?显然不是.gemspec文件。当我这样做时,我得到“400Cannot process gem”。那我应该上传什么?

0 投票
1 回答
1618 浏览

ruby - ssl_verify_mode + bundler + geminabox

我正在尝试建立一个私人 geminabox 服务器来保存我的项目正在开发的一些宝石。我设置了服务器,乘客 nginx 将 geminabox 作为机架应用程序运行。我可以在不使用 SSL 的情况下捆绑指向服务器的安装。

由于裸 HTTP 流量从来都不是理想的,我也想添加 SSL。为了让概念证明工作,我添加了一个 SSL 证书并验证我仍然可以看到我安装的 gem 的 geminabox 前端。

当我回到我的 ruby​​ 项目时,我运行一个 bundle install 并得到:

Could not verify the SSL certificate for https://********.com/.

There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see bit.ly/ruby-ssl. To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.

按照错误消息给我的链接,我决定首先添加 ~/.gemrc 的内容:

:ssl_verify_mode: 0

(不理想,也不是永久解决方案)。现在我得到:

Fetching source index from https://***.com/

Resolving dependencies...

Could not verify the SSL certificate for https://***.com/quick/Marshal.4.8/sqlite3-1.3.10-x86-mswin32-60.gemspec.rz. There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn't have the CA certificates needed for verification. For information about OpenSSL certificates, see bit.ly/ruby-ssl. To connect without using SSL, edit your Gemfile sources and change 'https' to 'http'.

我的问题是,如何在 bundler 中正确地将 SSL 验证设置为关闭?我应该使用其他设置吗?谢谢你提供的所有帮助...

我的系统:

Ubuntu 14.04

红宝石 2.1.2

捆绑器版本 1.8.4

0 投票
0 回答
45 浏览

geminabox - 多个 GemInABox 主机

我知道我可以配置将 gem 上传到的主机:

如何告诉geminabox同时上传到多个主机?我们有两个 gem 服务器,当我运行时:

我想让它上传到我们的两个私人 gem 服务器。

0 投票
1 回答
205 浏览

ruby - 从 ruby​​ 脚本安装 gem 并在之后使用它

我有一个由 Geminabox 运行的私人 gemserver。要在那里发布任何 gem,有一个命令gem inabox my-gem.gem -g $HOST

我正在编写用于自动发布新 gem 版本的脚本。

所以我有类似的东西:

问题是它返回以下内容:

当我在控制台中手动执行相同操作时,一切正常。如果我将这些命令放入.sh脚本中也是一样的:

但是,再一次,如果我从 ruby​​ 调用这个脚本,它不会出现同样的错误(Unknown command inabox):

我需要完全使用 Ruby 中的脚本。任何想法为什么它不起作用?