Saya ingin menginstal bedtools (yaitu, kode sumber c ++ untuk memanipulasi jenis file tertentu). Untuk menginstalnya instruksi instalasi mengatakan untuk mengunduh file tar, untar file, buka direktori file untar, dan kemudian ketik make.
Petunjuk instalasi adalah sebagai berikut:
curl http://bedtools.googlecode.com/files/BEDTools.<version>.tar.gz > BEDTools.tar.gz
tar -zxvf BEDTools.tar.gz
cd BEDTools
make clean
make all
sudo cp bin/* /usr/local/bin/
Tetapi bagaimana saya bisa memberinya awalan sehingga saya bisa menginstalnya di direktori tertentu?
Saya tahu saya bisa google dan mencoba untuk mendapatkan jawaban tetapi karena saya menginstal perangkat lunak saya lebih suka bertanya dan memastikan saya menjalankannya dengan benar tanpa risiko tidak tahu di mana saya menginstalnya, dll.
Saya mencoba membuat --prefix tetapi awalan bukan opsi. Saya terbiasa menggunakan configure, make, make install tetapi perangkat lunak ini mengatakan hanya diinstal dengan make.
Terima kasih!
Makefile
Jawaban:
Bagian terakhir dari proses instalasi adalah menyalin binari ke lokasi yang ada di jalur pencarian shell Anda. Anda dapat mencari tahu tentang jalur pencarian dengan mengetik
echo $PATH
. Bagi saya itu:Ini berarti, bahwa ketika saya mengetik nama program ke dalam shell, itu pertama-tama akan melihat
/opt/local/bin
apakah perintah dapat ditemukan di sana, kemudian di/opt/local/sbin
, dll. Jika saya ingin melihat di folder rumah saya, saya akan mengeluarkan perintah berikut:atau
Perubahan ini akan hilang segera setelah saya keluar dari shell. Untuk memperbaikinya, saya perlu menambahkan perintah ke skrip yang dijalankan saat masuk (ini mungkin tergantung pada OS). Bagi saya (pada Mac OS X) itu adalah file (tersembunyi)
.profile
di folder rumah saya, tempat saya menambahkan baris berikut:The
$PATH
penting untuk menjaga jalur pencarian penting di sekitar, yang telah ditetapkan. Jika Anda tidak sengaja menghapus bagian itu, Anda harus memberikan path absolut perintah Anda: seperti/bin/ls
,/usr/bin/vim
...Anda dapat mengetahui tentang perintah mana yang sedang dieksekusi dengan mengetikkan
which <cmd>
ke shell Anda.sumber
Garis
sedang menginstal binari yang dikompilasi ke
/usr/local/bin
. Jika Anda ingin menginstalnya di tempat lain, cukup ubah folder tujuan dalam pernyataan ini. Sebagai contoh jika Anda ingin meletakkannya dibin
folder di direktori home Anda, itu akan menjadi(Anda dapat menghilangkan
sudo
bagian tersebut jika Anda memasang ke suatu tempat yang sudah memiliki akses tulis.)sumber
Itu tergantung pada proyek tertentu.
Bagi banyak program GNU, Anda dapat mengubah tujuan dengan melewati
--prefix
diconfigure
waktu.Dan beberapa
Makefile
-s ditulis sehingga Anda bisa(tapi ini mungkin tidak berfungsi jika biner memiliki beberapa jalur yang di-hardcod di dalamnya)
sumber