題:
為什麼不能在“打開方式”對話框中使用默認鏈接到/ Applications的.app捆綁包?
oyvindio
2011-02-04 16:03:35 UTC
view on stackexchange narkive permalink

我用 homebrew-cocoa 標誌安裝了emacs,這使得homebrew在 / usr / local / Cellar / emacs / <version>​​ / Emacs.app 。我已將.app捆綁包鏈接到 / Applications / 中,以使其易於打開。問題是,當我嘗試為文件設置文件關聯時,無法將Emacs.app設置為默認值(“添加”按鈕變灰):

Unable to select open with emacs

現在,我可以將.app捆綁包複製或移動到 / Applications / 中,但這要求我每次通過自製軟件更新emacs時再次將其複制一次。還有其他解決方法嗎?

五 答案:
Jeff Putsch
2012-09-11 08:27:47 UTC
view on stackexchange narkive permalink

我不知道為什麼,但是我已經弄清楚了,如果我將符號鏈接創建到Contents目錄,那麼關聯就可以正常工作。

那是我在終端窗口中執行的操作,以我的“個人應用程序”文件夾為例:

 %mkdir〜/ Applications / Emacs.app%ln -s /usr/local/Cellar/emacs/23.2/Emacs.app/Contents〜/ Applications / Emacs.app  

將符號鏈接放在Emacs.app中的方法可以識別捆綁包。

Asmus
2011-02-04 18:22:51 UTC
view on stackexchange narkive permalink

很奇怪。我剛剛通過brew安裝了emacs,它會自動更新“打開方式”對話框以包含Emacs.app;但是您應該能夠執行以下操作:打開“選擇應用程序”對話框後,直接按“ /”獲得“轉到文件夾”窗口。輸入以下路徑:

  / usr / local / Cellar / emacs /  

,然後從此處導航到Emacs.app(當前版本為應該是/usr/local/Cellar/emacs/23.2/Emacs.app),並將其選擇為默認應用程序。

=======

請運行以下命令以查看Emacs是否已在LaunchServices數據庫中註冊?

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | grep Emacs

我已經建議過了。但是當emacs更新時(版本在路徑中)將不再起作用
如果您導航到emacs的真實路徑,它是否真的起作用?您確定只是符號鏈接/別名不起作用?
是的,您可以通過符號鏈接TextEdit來嘗試此操作:ln -s /Applications/TextEdit.app /Applications/Test.app-現在您無法在“選擇應用程序”對話框中選擇它。請查看我的原始答案以上是有關LaunchServices的另一個想法。
看起來好像是:http://pastie.org/pastes/1529411(至少是鏈接的目標),以及我在某些時候刪除的其他Emacs.app捆綁包。這是什麼意思?
您運行的LaunchServices命令向您顯示了Mac逐漸了解的所有Emacs變體,即使您刪除了它們。您可能要重建您的LaunchServices數據庫,然後(在“第一次”打開Emacs之後)應該立即在“打開方式”對話框中將其變為可用-但這可能會讓您的Mac忘記您所做的其他自定義文件分配時間。或者您可以嘗試我(和Loïc)建議的第一個解決方案:在“打開方式”對話框中從/ usr / local…分配Emacs
Loïc Wolff
2011-02-04 16:10:05 UTC
view on stackexchange narkive permalink

如果這不是您經常執行的操作,則可以導航到Emacs.app所在的位置並從那裡進行分配。

您是否嘗試過更改“啟用:推薦的應用程序”下拉菜單?我相信這裡有一個“所有應用程序”選項。也許這個可以讓您選擇別名。

您說過將.app符號鏈接起來。您是否使用了 ln -s ?如果是這樣,您是否嘗試使用別名代替?

-
我不太了解自製軟件,但是看起來您可以擴展使用 外部命令進行自製。

嘗試查看是否可以獲取更新的 .app 文件和 cp 到 / Applications

是的,我在命令行中使用了“ ln -s”。我也嘗試使用別名,但這也不起作用。選擇“所有應用程序”無濟於事,因為我已經可以選擇Emacs.app,所以我無法單擊“添加”。我想我可以導航到“真實的” Emacs.app捆綁包,但問題是版本號是路徑的一部分,因此更新emacs時它會更改...
@oyvindio添加了新想法
phabulosa
2011-11-21 14:48:54 UTC
view on stackexchange narkive permalink

我的解決方案是在 / Applications 中創建 / usr / local / Cellar 的符號鏈接。然後,您可以在“打開方式”對話框(在 / Applications / Cellar 中)中找到需要使用的emacs.app。

或者,您可以使用 RCDefault(一個免費軟件),用於配置文件擴展名關聯。

Nik
2011-12-03 21:35:38 UTC
view on stackexchange narkive permalink

應用程序的確切路徑無關緊要。打開並關閉應用程序一次後,應將其添加到LaunchServices數據庫中。

通過輸入以下終端命令嘗試重建LaunchServices數據庫:

  / System /Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/\LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain \ local -domain system -domain user  

執行此操作後,打開MacVim。然後應填充“打開方式...”選項。請注意,MacVim不會自動將自身與許多文件類型相關聯(例如,BBEdit與BBEdit幾乎是所有文件類型的默認選項一樣),只有文本,代碼和html類型的文件容易出現



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...