Eu gostaria que Bundler carregasse uma jóia local. Existe uma opção para isso? Ou tenho que mover a pasta gem para o diretório .bundle?
ruby-on-rails
ruby
ruby-on-rails-3
rubygems
bundler
picardo
fonte
fonte
spring stop
ver se é realmente esse o problema.Além de especificar o caminho (como Jimmy mencionou), você também pode forçar o Bundler a usar uma gema local para o seu ambiente apenas usando a seguinte opção de configuração:
Isso é extremamente útil se você estiver desenvolvendo duas gemas ou uma gema e um aplicativo de trilhos lado a lado.
Observe, porém, que isso só funciona quando você já está usando o git para sua dependência, por exemplo:
Como visto nos documentos .
fonte
BUNDLE_PATH
(construindo um pacote para distribuição). Ao fazer o que você sugeriu, ou a resposta de Jimmy, ele faz apenas umusing
e, na verdade, não é instalado na minhaBUNDLE_PATH
pasta. Não consegui descobrir isso, ajuda?bundle config --delete local.GEM_NAME
bundle config disable_local_branch_check true
ou o Bundler reclamará da ramificação. Porém, tenha cuidado com isso, pois as verificações devem impedir a entrada de confirmações incorretasGemfile.lock
. Documentos aqui: bundler.io/v1.12/git.htmlVocê também pode fazer referência a uma jóia local com o git se estiver trabalhando nela.
Então, se mudar, eu corro
Mas não tenho certeza se todos precisam executar essas duas etapas.
fonte
bundle uninstall <gem> && bundle install
, para cada mudança que você quer refletiu sobre a sua aplicaçãoPara usar o repositório de gemas local em um projeto Rails, siga as etapas abaixo:
Verifique se sua pasta gem é um repositório git (o comando é executado na pasta gem)
Obtendo o caminho do repositório (o comando é executado na pasta gem)
Configurando uma Substituição Local para o Aplicativo Rails
onde
GEM_NAME
é o nome da sua gema e/path/to/local/git/repository
é a saída do comando no ponto2
No seu aplicativo,
Gemfile
adicione a seguinte linha:Correr
bundle install
deve dar algo como isto:onde
GEM_NAME
é o nome da sua gema e/path/to/local/git/repository
do ponto2
Por fim, execute
bundle list
, nãogem list
e você deverá ver algo assim:onde
GEM_NAME
está o nome da sua gemaAlguns casos importantes que estou observando usando:
RubyMine
não está mostrando gemas locais como uma biblioteca externa. Mais informações sobre o bug podem ser encontradas aqui e aquistop/start
o servidor railsSe eu estiver alterando a
version
gema,stopping/starting
o servidor Rails me fornecerá um erro. Para corrigi-lo, estou especificando a versão gem no aplicativo de trilhosGemfile
como este:fonte
Você pode fazer referência a gemas com source:
source: 'https://source.com', git repository (:github => 'git/url')
e com local path:path => '.../path/gem_name'
.Você pode aprender mais sobre Gemfiles e como usá-los neste artigo.
fonte
Se você quiser o ramo também:
fonte
Only gems with a git source can specify a branch.