Respostas:
Sim, quando você o fizer gem install
, ele pesquisará primeiro o diretório atual; portanto, se o seu arquivo .gem estiver lá, ele será buscado. Encontrei-o na referência de gemas , que você pode achar útil também:
gem install instalará a gema nomeada. Ele tentará uma instalação local (ou seja, um arquivo .gem no diretório atual) e, se isso falhar, tentará baixar e instalar a versão mais recente da gema que você deseja.
Gemfile
mas não um .gem
arquivo. Então, o que é esse .gem
arquivo? O que deve conter? - Espere - entendo. Você quer dizer um gem-name.gem
arquivo. Lembre-se que no unix é bastante normal ter um arquivo começando com um '.' então é melhor explicá-lo.
Além disso, você pode usar gem install --local path_to_gem/filename.gem
Isso ignorará a verificação usual do repositório de gemas que acontece quando você sai --local
.
Você pode encontrar outras magias com gem install --help
.
Se você criar suas jóias com o bundler:
# do this in the proper directory
bundle gem foobar
Você pode instalá-los com rake após serem gravados:
# cd into your gem directory
rake install
As chances são de que a sua jóia baixada também saiba rake install
.
Se você deseja trabalhar em um garfo de uma gema modificado localmente, a melhor maneira de fazer isso é
gem 'pry', path: './pry'
em um Gemfile.
... onde ./pry
seria o clone do seu repositório. Basta executar bundle install
uma vez e quaisquer alterações nas fontes de gemas que você fizer serão refletidas imediatamente. Com gem install pry/pry.gem
, as fontes ainda são movidas GEM_PATH
e você sempre precisará executar as duas bundle gem pry
e gem update
testar.
Vá para o caminho em que a jóia está e ligue gem install -l gemname.gem
Bem, esta é a minha instalação DRY:
[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
:)*.gems
arquivos" para um computador sem gemas no próprio local do cache de gemas (por padrão, o mesmo caminho do consumidor da primeira etapa [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
:)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
) e ative o gem install anygemwithdependencieshere
(por exemplo cucumber-2.99.0
)É SECO porque depois de instalar qualquer gem, por padrão, rubygems coloca o arquivo gem no diretório gem do cache e não faz sentido duplicar esses arquivos, é mais fácil se você deseja que o computador tenha as mesmas versões (ou bloqueado por regras de segurança paranóicas: v)
Edit: Em algumas versões do ruby ou rubygems, ele não funciona e dispara alertas ou erros, você pode colocar gemas em outro lugar, mas não ficar seco, outra alternativa é usar o comando launch integrado
gem server
e adicionar o URL do host local em fontes de gemas, mais informações em: https://guides.rubygems.org/run-your-own-gem-server/
Você pode baixar gemas em https://rubygems.org/gems/ ou criar sua gema local via pacote e rack.
por exemplo:
Cuide da instalação das dependências antes de instalar as gemas reais.
Nota: Se estiver usando fluentd td-agent e ruby na mesma máquina. Certifique-se de usar o comando td-agent-gem do td-agent. O agente td possui o próprio Ruby.