2014-07-24 15 views
3

更新:我看到有人試圖在SSHFS和JetBrains中使用PyCharm說:「不」。也許這是行不通的?在安裝了SSHFS的開發服務器(Mavericks,OSXFUSE)中使用WebStorm(JetBrains)?不斷卸除驅動器

我正在嘗試在客戶辦公室的SSHFS掛載磁盤上使用WebStorm,我正在使用 - 我從未使用過SSHFS。我使用的是OSX 10.9.2,通過自制安裝SSHFS並安裝了OSXFUSE。

在任何情況下,SSHFS掛載都會定期卸載,但是由於我開始嘗試使用WebStorm,每次啓動WebStorm時它都會卸載並開始掃描SSHFS磁盤上的文件 - WebStorm會提示「外部文件更改同步可能會很慢:項目文件不能被監視(它們是否在網絡掛載?)「,如果我嘗試打開文件它會凍結。同時,SSHFS光盤已被卸除。如果我通過終端重新安裝WebStorm不快樂,並且凍結或只是坐在那裏。

我使用「從現有文件新建項目」設置WebStorm項目 - 有沒有辦法使用SSHFS作爲服務器進行設置?除了SSHFS光盤的登錄和密碼之外,我沒有任何其他特定於服務器的信息,但也許可以獲取它。

感謝您的任何幫助 -

+1

我記得幾年前讀到SSHFS不應該依賴作爲一個實際的文件系統,因爲某些更改不會立即傳播......但現在我無法找到我讀的地方。這是不幸的,因爲我想到的頁面有一些調整,可以使它更好地運行。既然是幾年前,也許文件系統本身已經有所改進,所以這些調整是沒有必要的;但恐怕這對你仍然沒有幫助。 – echristopherson

+1

你有沒有找到解決這個問題的方法? –

回答

6

這是我如何操作,也許它可以幫助你。如果有一個配置設置,我似乎已經掩蓋了,只是問,我會解決這個問題。但總而言之,這是非常成功的:

我的構建環境隱藏在Linux發行版上,但我的開發環境共同位於Mac桌面(當我在工作時)和Mac Air(當我在家裏)。我的項目非常龐大,合同上我無法將代碼移動到任何可以訪問的機器上,只要我的筆記本電腦被盜了。所以我幾乎必須使用ssh(和sshfs)來完成任何事情。

當我在家時,我坐下來工作,我手動啓動VPN - 因爲有太多的變化,我會假設你知道如何做到這一點。

我打開一個終端,並調用:

caffeinate & 

因爲每當計算機進入屏幕保護程序,我討厭連接斷開。這可能是你爲什麼斷開連接?每當我開發時我都會打開這個終端。我也使用tmux,以便我的終端會話可以在計算機之間共享。無論如何...

我在服務器和客戶端之間建立了一個掛載點。我有我的時候掛載點下降運行的腳本(自定義自己的工作):

umount -f /Volumes/$MOUNTDIR/ 
umount -f /Users/$HOMEUSER/$MOUNTDIR 
mkdir /Users/$HOMEUSER/$MOUNTDIR 
sshfs [email protected]@SERVERADDR:/usr/$HOMEUSER/$MOUNTDIR /Users/$HOMEUSER/$MOUNTDIR 

然後我啓動Webstorm,PyCharm,ADS的IntelliJ(我是一個Jetbrains的風扇)。

此時您可以打開$ MOUNTDIR中的目錄並開始工作。如果你發現你需要運行構建,這裏有一個提示 - 不要在本地構建。而是使用SSH在服務器上發出構建命令(或運行腳本)。構建運行後的同步開銷很可能遠小於獲取和編寫構建的所有步驟。

我只發現我斷開連接,如果我失去了VPN。每當電腦進入睡眠狀態時,我都會斷開連接。咖啡因固定的。

對於合理大小的項目,這可能是您所需要的。所以接下來是一個優化 - 只有當你遇到困難時才這樣做:

爲了加快加載時間,我所做的是創建一個不屬於掛載的本地項目。在作爲項目打開的第一個目錄的底部,有一個.IDEA目錄被創建並寫入很多目錄。這個目錄裏面有很多文件被寫入很多,根據你的網絡速度,這可能會導致悲傷。這確實意味着無論你走到哪裏,都必須維護一些設置,但在我的情況下,爲了獲得巨大的性能收益,要付出很小的代價。

所以,因爲我這樣做,我將不得不手動添加目錄到我的項目(在首選項/目錄下)。但是如果你使用巨大的API,你可能會這樣做。我小心地標記我不需要引用的目錄作爲'排除',以使索引器上的生活更輕鬆。我與其他數千名員工共享目錄結構,並確保這些流不會交叉。

現在我有很多數以千計的文件,確實同步可能很慢。但是,只有當您離開應用程序並重新啓動時纔會觸發同步。並且,只要您擁有合理的互聯網連接,說實話,並不那麼糟糕。

我希望這會有所幫助。一旦我開始使用它作爲我的工作流程,我就再也沒有回去。