Mengapa kadang-kadang bash berpikir $ HOME saya bukan direktori yang benar?

4

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:into_spec 'dari /usr/local/lib/ruby/1.9.1/rubygems.rb:1210:in gem' 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?

Adam Yanalunas
sumber
Apa yang dikatakan dscl . -read /Users/$USER(≥10.5) atau niutil -read . /users/$USER(≤10.4) di rumah Anda? (Secara bergantian, periksa Directory Utility.app (≥10.5) atau NetInfo Manager.app (≤10.4).)
ephemient
dsclmelaporkan rumah sebagai NFSHomeDirectory: /Users/adam, yang adalah apa yang Anda harapkan.
Adam Yanalunas

Jawaban:

2

Saya akhirnya memecahkan masalah ini, meskipun itu bukan solusi yang paling elegan.

Karena rvm tidak akan berjalan sama sekali rvm implodebukan pilihan. Sebaliknya saya hanya berlari rm -rf ~/.rvmdan menginstal ulang rvm.

Ini mungkin tidak berhubungan tetapi saya juga harus mengunduh osx-gcc-installer dan mengatur export CC=/usr/bin/gcc-4.2sebelum rvm dan ruby ​​build akan berlaku dengan benar. Menggunakan with-gcc=clangtidak memberikan bangunan yang dapat digunakan.

Adam Yanalunas
sumber
0

Sesuatu merusak variabel $ HOME Anda.

Tambahkan ini ke file .bashrc Anda

 declare -x -r HOME=/correct/home/path
JeffG
sumber