Seperti judulnya, sepertinya bash terkadang salah mengidentifikasi $ HOME saya. Ini muncul setelah serangkaian acara yang tampaknya unik yang sekarang saya akan ulas dalam pukulan luas.
- Menjalankan OS X 10.6 dengan akun lokal normal
- Pekerjaan mengikat akun saya ke Direktori Aktif
- Banyak waktu berlalu tanpa masalah
- Atur rvm untuk mengelola pemasangan Ruby (ini menjadi penting nanti)
- Diupgrade ke OS X 10.7 beberapa hari yang lalu
- Setelah berhasil menginstal, mencoba masuk, disajikan dialog "Harus mengatur ulang kata sandi" yang tidak pernah mengizinkan kata sandi diatur ulang. Cukup goyang kotak setelah kata sandi baru dimasukkan.
- Banyak googling dilakukan.
- Lebih banyak googling dilakukan.
- Bersumpah telah.
- Masuk sebagai root, membuat akun baru, ditetapkan sebagai admin, dihapus / Pengguna / [akun baru], diganti nama / Pengguna / [akun lama] ke / Pengguna / [akun baru]
- Keluar dari root, masuk ke akun baru tanpa masalah
Setelah OS X meminta kata sandi akun saya beberapa kali untuk memperbarui Keychain dan hal-hal tingkat sistem lainnya, ia kembali berfungsi seperti biasa.
Terminal yang dibuka, cd ke folder proyek, mencoba "rails server" dan disajikan dengan:
/usr/local/lib/ruby/1.9.1/rubygems/dependency.rb:47:in
to_specs': Could not find rails (>= 0) amongst [] (Gem::LoadError) from /usr/local/lib/ruby/1.9.1/rubygems/dependency.rb:256:in
to_spec 'dari /usr/local/lib/ruby/1.9.1/rubygems.rb:1210:ingem' from /usr/local/bin/rails:18:in
'
Berlari melalui beberapa latihan, memutuskan untuk rm -rf ~ / .rvm dan instal ulang. Menjalankan --trace pada rvm installer menunjukkan ia mati pada baris ini:
mkdir: / Pengguna / [akun lama]: Izin ditolak
Menggulir kembali melalui --trace log Saya melihat banyak lagi menyebutkan / Pengguna / [akun lama]. Ketika memeriksa skrip instal, baris yang menyinggung sedang melihat "$ {HOME} /. Rvm" saat mencoba menjalankan mkdir. Untuk kebingungan saya, saya juga melihat menyebutkan / Pengguna / [akun baru] di log.
Saya sudah mencoba mengekspor HOME baru di .bash_profile saya tetapi tidak berhasil.
Adakah yang bisa menebak mengapa / Pengguna / [akun lama] masih akan berkeliaran?
sumber
dscl . -read /Users/$USER
(≥10.5) atauniutil -read . /users/$USER
(≤10.4) di rumah Anda? (Secara bergantian, periksa Directory Utility.app (≥10.5) atau NetInfo Manager.app (≤10.4).)dscl
melaporkan rumah sebagaiNFSHomeDirectory: /Users/adam
, yang adalah apa yang Anda harapkan.Jawaban:
Saya akhirnya memecahkan masalah ini, meskipun itu bukan solusi yang paling elegan.
Karena rvm tidak akan berjalan sama sekali
rvm implode
bukan pilihan. Sebaliknya saya hanya berlarirm -rf ~/.rvm
dan menginstal ulang rvm.Ini mungkin tidak berhubungan tetapi saya juga harus mengunduh osx-gcc-installer dan mengatur
export CC=/usr/bin/gcc-4.2
sebelum rvm dan ruby build akan berlaku dengan benar. Menggunakanwith-gcc=clang
tidak memberikan bangunan yang dapat digunakan.sumber
Sesuatu merusak variabel $ HOME Anda.
Tambahkan ini ke file .bashrc Anda
sumber