0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MacをMontereyにアップデートしたらAlfredTweetが動かなくなった

Last updated at Posted at 2022-01-30

環境

  • Mac: Monterey
  • Alfred3

解決策

  1. Alfred4.6にバージョンアップする
  2. phpをInstallして動かす

1.Alfred4.6にバージョンアップする

公式の解決策はこれ。
PowerPack使ってるから買い直さないといけないので却下したので、試していません。

If you install PHP (eg via homebrew ), most PHP-based workflows will continue to work without an issue, as the workflow script objects in Alfred 4.6 have been updated to be aware of alternative bin paths.

PHPをインストールした場合(たとえば、homebrewを介して)、Alfred 4.6のワークフロースクリプトオブジェクトが代替のbinパスを認識するように更新されているため、ほとんどのPHPベースのワークフローは問題なく機能し続けます。

2. phpをInstallして動かす

参考ページ: 

内容としては

1. HomebrewからphpをInstallする
2. Workflowの変更とスクリプト化

HomebrewからphpをInstallする

$ brew install php ## /usr/local/bin/phpにインストールされる

Workflowの変更とスクリプト化

Alfred3はWorkflowの中で/usr/bin/phpを直接参照しているため、シンボリックリンクを作れば良いと思ったが、MacはSIP(System Integrity Protection)というものがあるため、/usr/bin/phpを操作することはできない。

$ ln -s /usr/local/bin/php /usr/bin/php
ln: /usr/bin/php: Read-only file system

そのため、以下が必要

  • Language:bashからphpをKickしている部分を /usr/local/bin/phpに変更
    スクリーンショット 2022-01-30 22.39.29.png
  • Langugage:/usr/bin/phpとしてKickしているScriptを同じディレクトリ内にスクリプトファイルとして保存して、bash or zshから実行
    • 変更前
      スクリーンショット 2022-01-30 22.48.03.png
    • 変更後
      スクリーンショット 2022-01-30 22.49.45.png

phpを書いたことない人への注意点

  1. phpをスクリプトファイルとして保存するときは<?php?>でかこむ必要がある
<?php
  some script 
?>
  1. phpスクリプトに{query}のような引数があったときは変更する必要がある。
$text = $argv[1];  // $text = "{query}";

感想

今まで全くやらなかったphpを知れた。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?