Saya ingin Bundler memuat permata lokal. Apakah ada opsi untuk itu? Atau apakah saya harus memindahkan folder permata ke direktori .bundle?
359
Saya ingin Bundler memuat permata lokal. Apakah ada opsi untuk itu? Atau apakah saya harus memindahkan folder permata ke direktori .bundle?
Saya yakin Anda bisa melakukan ini:
gem "foo", path: "/path/to/foo"
spring stop
lihat apakah memang itu masalahnya.Selain menentukan jalur (seperti yang disebutkan Jimmy), Anda juga dapat memaksa Bundler untuk menggunakan permata lokal untuk lingkungan Anda hanya dengan menggunakan opsi konfigurasi berikut:
Ini sangat membantu jika Anda mengembangkan dua permata atau permata dan aplikasi rel berdampingan.
Perhatikan bahwa ini hanya berfungsi ketika Anda sudah menggunakan git untuk ketergantungan Anda, misalnya:
Seperti yang terlihat pada dokumen .
sumber
BUNDLE_PATH
(membangun paket untuk distribusi). Ketika melakukan apa yang Anda sarankan, atau jawaban Jimmy, itu hanya melakukanusing
, dan tidak benar-benar menginstal keBUNDLE_PATH
folder saya . Saya tidak dapat menemukan ini, ada bantuan?bundle config --delete local.GEM_NAME
bundle config disable_local_branch_check true
atau Bundler akan mengeluh tentang cabang. Berhati-hatilah dengan ini, karena cek seharusnya menghentikan komitmen yang salahGemfile.lock
. Documents di sini: bundler.io/v1.12/git.htmlAnda juga dapat mereferensikan permata lokal dengan git jika Anda sedang mengusahakannya.
Kemudian, jika itu berubah saya jalankan
Tetapi saya tidak yakin semua orang perlu menjalankan dua langkah ini.
sumber
bundle uninstall <gem> && bundle install
, untuk setiap perubahan yang Anda inginkan tercermin pada aplikasi AndaUntuk menggunakan repositori permata lokal dalam proyek Rails, ikuti langkah-langkah di bawah ini:
Periksa apakah folder gem Anda adalah repositori git (perintah dijalankan di folder gem)
Mendapatkan jalur repositori (perintah dijalankan di folder gem)
Menyiapkan override lokal untuk aplikasi rel
di mana
GEM_NAME
nama permata Anda dan/path/to/local/git/repository
merupakan output dari perintah in point2
Di aplikasi Anda
Gemfile
tambahkan baris berikut:Berlari
bundle install
harus memberikan sesuatu seperti ini:di mana
GEM_NAME
nama permata Anda dan/path/to/local/git/repository
dari titik2
Akhirnya, jalankan
bundle list
, tidakgem list
dan Anda akan melihat sesuatu seperti ini:di mana
GEM_NAME
nama permata AndaBeberapa kasus penting yang saya amati menggunakan:
RubyMine
tidak menampilkan permata lokal sebagai perpustakaan eksternal. Informasi lebih lanjut tentang bug dapat ditemukan di sini dan di sinistop/start
server railsJika saya mengubah
version
permata,stopping/starting
server Rails memberi saya kesalahan. Untuk memperbaikinya, saya menentukan versi permata di aplikasi relGemfile
seperti ini:sumber
Anda dapat mereferensikan permata dengan sumber:
source: 'https://source.com', git repository (:github => 'git/url')
dan dengan jalur lokal:path => '.../path/gem_name'
.Anda dapat mempelajari lebih lanjut tentang Gemfiles dan cara menggunakannya dalam artikel ini.
sumber
Jika Anda ingin cabang juga:
sumber
Only gems with a git source can specify a branch.