Cara mengubah jalur aplikasi di OSX

0

Saya dihapus phonegap dari

/usr/local/bin/phonegap  

dan menginstalnya lagi menggunakan npm, sekarang saat berlari phonegap, Saya melihat kesalahan ini:

-bash: /usr/local/bin/phonegap: No such file or directory

sementara phonegap dipasang di

/Users/myUserName/.nvm/v5.8.0/lib/node_modules

Bagaimana saya bisa memperbaikinya?

Reyraa
sumber
Apa hasil dari which phonegap ?
Mateusz Szlosek
@MateuszSzlosek tidak ada, secara harfiah tidak ada
Reyraa
Apakah kamu punya /Users/myUserName/.nvm/v5.8.0/lib/node_modules di Anda PATH? Jika tidak, coba tambahkan.
Mateusz Szlosek
Atau Anda dapat membuat symlink di /usr/local/bin/phonegap ke executable phonegap yang ada.
Mateusz Szlosek
@MateuszSzlosek Saya punya / Pengguna / myUserName/.nvm/v5.8.0/lib/. apa ini cukup?
Reyraa

Jawaban:

3

Saya tidak dapat berbicara dengan jalur aneh tempat Anda menginstal perangkat lunak ini, tetapi alasan shell mengatakan tidak dapat menemukannya adalah bash (dan shell lain) mempertahankan tabel hash dengan lokasi biner yang dapat dieksekusi yang telah lari sebelumnya. Alasan di balik ini adalah agar shell tidak harus benar-benar mencarinya setiap kali perlu menjalankannya.

Lihat: http://www.gnu.org/software/bash/manual/bash.html#Command-Search-and-Execution

Untuk memaksa bash untuk me-hash ulang tabel, gunakan 'hash -r'.

Marc Wilson
sumber
1

Sepertinya Anda perlu melakukannya link

/Users/myUserName/.nvm/v5.8.0/lib/node_modules/phonegap

untuk

/usr/local/bin/phonegap

Langkah 1

Di terminal, jalankan

ls -l /usr/local/bin/phonegap

Anda mungkin akan melihat sesuatu seperti:

lrwxr-xr-x 1 jsmith wheel 36 Mar 26 12:05 /usr/local/bin/phonegap -> /some/other/path/to/phonegap

Jika dimulai dengan huruf kecil L maka itu adalah tautan. Mungkin menunjuk ke file yang tidak ada lagi, sehingga Anda dapat menghapusnya dengan pergi

rm -f /usr/local/bin/phonegap

Harap berhati-hati dengan rm itu berarti "hapus" atau "hapus" dan tidak ada yang dibatalkan.

Kemudian, Anda perlu membuat tautan baru dari yang sudah ada phonegap ke tempat yang diharapkan:

ln -s /Users/myUserName/.nvm/v5.8.0/lib/node_modules/phonegap /usr/local/bin/phonegap

Kamu lakukan tidak ingin menambahkan /Users/myUserName/.nvm/v5.8.0/lib/node_modules/ ke $ PATH Anda karena pada akhirnya akan berubah. Itulah alasan utama untuk menghubungkan mereka ke jalur statis seperti /usr/local/bin/.

Catatan: Anda mungkin perlu menambahkan sudo sebelum perintah itu, jika Anda mendapatkan semacam kesalahan izin.

(Juga, maaf tentang pandoc referensi sebelumnya. Saya telah menyalin / menempelkan file contoh aktual dari komputer saya dan bermaksud mengubahnya dan melewatkannya.)

TJ Luoma
sumber
Anda membutuhkan sudo pada perintah ln dan rm - dan maksud Anda pandoc
Mark
Anda mungkin memerlukan sudo tergantung pada / usr / local / izin. pandoc adalah peninggalan salah ketik / salin / tempel. Terima kasih.
TJ Luoma