我们正在内部开发一些宝石,并希望将它们托管在本地gem服务器上,然后与bundler一起使用。当我尝试将gem推送到服务器时,我获得了/api/v1/gems
的404。这发生在我们的实际服务器上,当我尝试在我的笔记本电脑上本地运行时(两者都在gem v1.8.24上)。
这是运行gem服务器的终端会话:
$ gem --version
1.8.24
$ gem server
Server started at http://0.0.0.0:8808
Server started at http://[::ffff:0.0.0.0]:8808
这是我试图推动任意宝石:
$ gem --version
1.8.24
$ gem push --host http://127.0.0.1:8808 awesome_print-1.0.2.gem
Pushing gem to http://127.0.0.1:8808...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD><TITLE>Not Found</TITLE></HEAD>
<BODY>
<H1>Not Found</H1>
`/api/v1/gems' not found.
<HR>
<ADDRESS>
WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) at
127.0.0.1:8808
</ADDRESS>
</BODY>
</HTML>
是否需要指定命令行选项以告知gem server
接受推送?或者我错过了其他什么?
答案 0 :(得分:3)
看起来gem server
仅用于提供已存在于系统中的宝石。如果您想将gems推送到服务器(从命令行或其他方式),您应该查看Gem in a Box之类的内容,或者只是手动将它们安装到您正在服务的目录中:
gem install -i <directory> --ignore-dependencies <path/to/gem>
答案 1 :(得分:0)