私はGeminaboxが運営するプライベートなgemserverを持っています。そこで宝石を公開するには、コマンドgem inabox my-gem.gem -g $HOST
があります。ルビースクリプトからgemをインストールしてから使用してください
私は新しい宝石のバージョンを自動公開するためのスクリプトを作成しています。
だから私のようなものがあります:
`gem install geminabox --no-ri --no-rdoc`
`gem inabox my-super-gem.gem`
を問題は、それが次の値を返します:
Successfully installed reentrant_flock-0.1.0
Successfully installed multipart-post-2.0.0
Successfully installed faraday-0.13.1
Successfully installed nesty-1.0.2
Successfully installed httpclient-2.8.3
Successfully installed builder-3.2.3
Successfully installed mustermann-1.0.1
Successfully installed rack-2.0.3
Successfully installed rack-protection-2.0.0
Successfully installed tilt-2.0.8
Successfully installed sinatra-2.0.0
Successfully installed geminabox-0.13.9
12 gems installed
ERROR: While executing gem ... (Gem::CommandLineError)
Unknown command inabox
私はコンソールに手動で同じことを行うと、すべてが正常に動作します。
system('script/upload_gem.sh')
I:私はルビーからこのスクリプトを呼び出す場合、それは同じエラー(Unknown command inabox
)では動作しません、再び
#!/bin/bash
set -e
gem install geminabox --no-ri --no-rdoc
gem inabox -g $RUBYGEMS_HOST my-awesome.gem
しかし、私は.sh
スクリプトにこれらのコマンドを入れた場合と同じRubyから正確にスクリプトを使用する必要があります。なぜそれが動作しない任意のアイデア?結局のところ
通常、 'rake release'を実行して宝石を公開するだけです。カスタムスクリプトを書く必要はありません。 –
@TomLord 'rake-release'宝石のコードから判断できるように、' gem push'コマンドundercoverを使用しています。私の場合は動作しません。 – nattfodd
なぜですか? 'gemfile'に宝石サーバーを定義するだけです。 –