Yup, ketika Anda melakukannya gem install, itu akan mencari direktori saat ini terlebih dahulu, jadi jika file .gem Anda ada di sana, itu akan mengambilnya. Saya menemukannya di referensi permata , yang mungkin Anda temukan berguna juga:
install permata akan menginstal permata bernama. Ini akan mencoba instalasi lokal (mis. File .em di direktori saat ini), dan jika gagal, ia akan mencoba mengunduh dan menginstal versi terbaru dari permata yang Anda inginkan.
Memeriksa untuk mengatakan bahwa ini bekerja untuk saya pada tahun 2019.
Charles Wood
1
ini tidak berfungsi untuk saya pada tahun 2019
iconoclast
1
Saya punya Gemfiletapi bukan .gemfile. Jadi apa .gemfile ini ? Apa yang harus dikandungnya? - Tunggu - saya mengerti. Anda berarti gem-name.gemfile. Ingat bahwa pada unix, cukup normal memiliki file yang diawali dengan '.' jadi lebih baik mengejanya.
Martin
Saya dapat mengkonfirmasi dari masa depan 2020, tautannya berfungsi untuk saya. Jika itu tidak berhasil di masa depan yang jauh, inilah snapshot
Jed Burke
329
Anda juga bisa menggunakannya gem install --local path_to_gem/filename.gem
Ini akan melewati pemindaian repositori permata yang biasa terjadi ketika Anda pergi --local.
Anda dapat menemukan sihir lain dengan gem install --help.
Saya mengunduh permata seperti rubygems dalam format zip. Jadi tidak ada file .em di sini. Bagaimana cara saya menginstal ini dari lokal? Terima kasih.
Erran Morad
3
@ Boratagdiyev, file zip bukan permata. Seperti kebanyakan file zip, Anda perlu unzip sebelum dapat melakukan banyak hal dengannya. Jika mengandung permata, maka Anda dapat menggunakan permata instal pada file .gem yang diekstraksi. Saya tidak ingat internal format permata; mungkin saja file zip dengan header khusus, tetapi rubygems tidak mengenali file zip seperti itu.
JasonTrue
62
Anda juga dapat menggunakan nama file lengkap untuk file permata Anda:
ini sepertinya jawaban modern terbaik. jawaban yang diterima adalah dari 8 tahun yang lalu
sixty4bit
14
jika Anda mengunduh file proyek dari github atau situs host scm lainnya, gunakan gem build untuk membangun proyek terlebih dahulu, sehingga Anda bisa mendapatkan file anything.gem di direktori saat ini. Lalu instal permata itu!
Jika Anda ingin mengerjakan garpu permata yang dimodifikasi secara lokal, cara terbaik untuk melakukannya adalah
gem 'pry', path: './pry'
dalam Gemfile.
... di mana ./pryakan menjadi tiruan dari repositori Anda. Cukup jalankan bundle installsekali, dan setiap perubahan dalam sumber permata yang Anda buat segera tercermin. Dengan gem install pry/pry.gem, sumber masih dipindahkan ke GEM_PATHdan Anda harus selalu menjalankan keduanya bundle gem prydan gem updateuntuk menguji.
Melihat ke dalam komputer dengan permata sudah terpasang dibutuhkan dalam direktori cache (secara default: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)
Salin semua " *.gemsfile" ke komputer tanpa permata di tempat cache gem sendiri (secara default jalur pelindung yang sama dari langkah pertama :) [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache)
Di konsol berada di cache permata (cd [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache) dan jalankan gem install anygemwithdependencieshere(dengan contoh cucumber-2.99.0)
Ini KERING karena setelah menginstal permata apa pun, secara default rubygem meletakkan file permata di direktori cache cache dan tidak masuk akal menduplikasi file thats di, lebih mudah jika Anda ingin kedua komputer memiliki versi yang sama (atau dibuat oleh aturan keamanan paranoic: v)
Sunting: Di beberapa versi ruby atau rubygems, itu tidak bekerja dan memancarkan peringatan atau kesalahan, Anda dapat menempatkan permata di tempat lain tetapi tidak mendapatkan KERING, alternatif lain menggunakan perintah peluncuran terintegrasi gem serverdan menambahkan URL localhost di sumber permata, lebih lanjut informasi di:
https://guides.rubygems.org/run-your-own-gem-server/
Anda dapat mengunduh permata dari https://rubygems.org/gems/ atau membuat permata lokal melalui bundel dan rak.
misalnya:
bundel gem NamaGame Anda
rake install
Berhati-hatilah dalam menginstal dependensi sebelum menginstal permata yang sebenarnya.
instal --local /pathToFolder/xxx-2.6.1.gem
Catatan: Jika menggunakan fluentd td-agent dan ruby pada mesin yang sama. Pastikan untuk menggunakan perintah td-agent-td-agent-gem. td-agent memiliki Ruby sendiri.
Jawaban:
Yup, ketika Anda melakukannya
gem install
, itu akan mencari direktori saat ini terlebih dahulu, jadi jika file .gem Anda ada di sana, itu akan mengambilnya. Saya menemukannya di referensi permata , yang mungkin Anda temukan berguna juga:sumber
Gemfile
tapi bukan.gem
file. Jadi apa.gem
file ini ? Apa yang harus dikandungnya? - Tunggu - saya mengerti. Anda berartigem-name.gem
file. Ingat bahwa pada unix, cukup normal memiliki file yang diawali dengan '.' jadi lebih baik mengejanya.Anda juga bisa menggunakannya
gem install --local path_to_gem/filename.gem
Ini akan melewati pemindaian repositori permata yang biasa terjadi ketika Anda pergi
--local
.Anda dapat menemukan sihir lain dengan
gem install --help
.sumber
Anda juga dapat menggunakan nama file lengkap untuk file permata Anda:
ini bekerja juga - mungkin cara termudah
sumber
Jika Anda membuat permata Anda dengan bundler:
Anda dapat menginstalnya dengan rake setelah ditulis:
Kemungkinannya, permata unduhan Anda juga akan tahu
rake install
.sumber
jika Anda mengunduh file proyek dari github atau situs host scm lainnya, gunakan gem build untuk membangun proyek terlebih dahulu, sehingga Anda bisa mendapatkan file anything.gem di direktori saat ini. Lalu instal permata itu!
sumber
Jika Anda ingin mengerjakan garpu permata yang dimodifikasi secara lokal, cara terbaik untuk melakukannya adalah
gem 'pry', path: './pry'
dalam Gemfile.
... di mana
./pry
akan menjadi tiruan dari repositori Anda. Cukup jalankanbundle install
sekali, dan setiap perubahan dalam sumber permata yang Anda buat segera tercermin. Dengangem install pry/pry.gem
, sumber masih dipindahkan keGEM_PATH
dan Anda harus selalu menjalankan keduanyabundle gem pry
dangem update
untuk menguji.sumber
Pergi ke jalan di mana permata itu berada dan panggil
gem install -l gemname.gem
sumber
Nah, ini instalasi KERING saya:
[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)*.gems
file" ke komputer tanpa permata di tempat cache gem sendiri (secara default jalur pelindung yang sama dari langkah pertama :)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
) dan jalankangem install anygemwithdependencieshere
(dengan contohcucumber-2.99.0
)Ini KERING karena setelah menginstal permata apa pun, secara default rubygem meletakkan file permata di direktori cache cache dan tidak masuk akal menduplikasi file thats di, lebih mudah jika Anda ingin kedua komputer memiliki versi yang sama (atau dibuat oleh aturan keamanan paranoic: v)
sumber
Anda dapat mengunduh permata dari https://rubygems.org/gems/ atau membuat permata lokal melalui bundel dan rak.
misalnya:
Berhati-hatilah dalam menginstal dependensi sebelum menginstal permata yang sebenarnya.
Catatan: Jika menggunakan fluentd td-agent dan ruby pada mesin yang sama. Pastikan untuk menggunakan perintah td-agent-td-agent-gem. td-agent memiliki Ruby sendiri.
sumber