[Linux] Perforce sync 時出現 P4PASSWD invalid or unset
原本讓上面的 perforce client 自動去 sync 專案的原始碼,
當時設定時是有登入的狀態,所以沒有問題~
不過在過了一陣子之後,登入的 ticket 過期,
所以 p4 sync 的指令不會成功,而會出現下面的錯誤訊息:
Perforce password (P4PASSWD) invalid or unset.
覺得有點奇怪,我有在 shell 裡面設定了下面的環境變數,
裡面也包含了 P4PASSWD,為什麼還會失敗呢?
export P4USER=myuser export P4PASSWD=mypassword export P4PORT=p4server:1666 export P4CLIENT=myser_mymachine
查了一下,原來 P4PASSWD 裡面要設定的是密碼 MD5 後的大寫結果,
而不是直接把密碼設定在裡面~
參考資料:在 Perforce 自動登入,不用輸入密碼的方式
要算出密碼的 MD5,可以用類似下面的指令來取得,
或是直接用一些線上網站來算也可以:
testuser@localhost:~$ echo -n "mypassword" | md5sum | tr "a-z" "A-Z" 34819D7BEEABB9260A5C854BC85B3E44 -
像上面算出來的 MD5 是 34819D7BEEABB9260A5C854BC85B3E44 (記得要大寫),
把 P4PASSWD 設成這個值,p4 sync 就能在沒有登入的狀態下成功囉~
export P4USER=myuser export P4PASSWD=34819D7BEEABB9260A5C854BC85B3E44 export P4PORT=p4server:1666 export P4CLIENT=myser_mymachine
(本頁面已被瀏覽過 1,161 次)