コンパスをインストールするには、必要なファイルをダウンロードして、インターネットに接続していない別のマシンに移動します。compass のソース パッケージをダウンロードしましたが、接続されていないマシンで gem を実行すると、依存関係が見つからないというメッセージが表示されます。解決策はありますか?
37698 次
3 に答える
46
それはまさに私が抱えていた問題です。
しばらく検索した後、Bundler https://bundler.io/を使用して動作するソリューションを見つけました
依存関係のある Gem の取得:
- その中に Gemfile という名前のファイルを含む新しいフォルダーを作成します。
- 依存関係を持たせたい Source と Gem を File に書き込みます。
- 例:
source "http://rubygems.org"
gem 'rails', '3.2.1' - このフォルダでコマンドラインを開き、実行します: bundle install
- これにより、すべての依存関係がダウンロードされ、インストールされます
- 見たい場合は、コマンドバンドルリストを実行してください
- コマンドバンドル パッケージを実行する
- これにより、ディレクトリ構造ベンダー/キャッシュが作成されます
- キャッシュ ディレクトリ内には、gem に必要なすべての依存関係があります。
インターネットに接続していないマシンに Gem をインストールします。
- キャッシュ フォルダーをマシンにコピーします。
- キャッシュ フォルダー内でコマンドラインを開き、gem install --local Gemname.gemを実行します。
- 例:
gem install --local rails-3.2.1.gem
于 2012-02-16T13:41:54.047 に答える
4
やった
export GEM_HOME=.
export GEM_PATH=.
gem install --no-ri --no-rdoc --install-dir . <gem>
于 2012-09-29T02:23:07.950 に答える
3
うーん。それは少し大変です。gem dependency
1 つの gem の依存関係が表示されますが、ツリー全体を下るわけではありません。
➔ gem dependency compass
Gem compass-0.10.5
haml (>= 3.0.4, runtime)
Gem compass-0.10.6
haml (>= 3.0.4, runtime)
➔ gem dependency haml
Gem haml-3.0.21
maruku (>= 0.5.9, development)
yard (>= 0.5.3, development)
Gem haml-3.0.22
maruku (>= 0.5.9, development)
yard (>= 0.5.3, development)
Gem haml-3.0.23
maruku (>= 0.5.9, development)
yard (>= 0.5.3, development)
Gem haml-3.0.24
maruku (>= 0.5.9, development)
yard (>= 0.5.3, development)
「開発」は、gem 自体を開発している場合にのみ必要であることを意味します。「ランタイム」は、それを使用するために必要であることを意味します。
したがって、この場合、唯一の依存関係は haml です。もっと複雑な宝石だったら、ツリー全体を生成する良い方法がわかりません。
于 2010-12-10T02:13:42.370 に答える