web-dev-qa-db-ja.com

ただ「作る」崇高なテキストビルドシステム

トップディレクトリでmakeを実行するだけでプロジェクトをビルドしようとしています。ただし、そうすると、次のエラーが発生します。

[Errno 2] No such file or directory
[cmd:  [u'make']]
[dir:  /Users/jonathanong/Workspace/template]
[path: /usr/local/bin]
[Finished]

これは、ビルド構成をMakeに設定した後です。

私はSublimeText 2.0.1、OS X10.8.2を使用しています。私のMakefileは、グローバルにインストールされたnode.jsバイナリの実行で構成されています。私は何をしなければなりませんか?

12
Jonathan Ong

これは、makeがPATHにないためです。ターミナルでビルドできる場合は、which makeを使用してmakeへのパスを把握し、それをビルドのパスに追加します。 makefileビルドシステム を編集してパスを追加できます。

新しいmakefileルールは次のようになります。

{
   "cmd": ["make"],
   "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
   "working_dir": "${project_path:${folder:${file_path}}}",
   "selector": "source.makefile",
   "path": "/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin",
   "variants":
    [
      {
        "name": "Clean",
        "cmd": ["make", "clean"]
      },
      {
        "name": "Test",
        "cmd": ["make", "test"]
      }
    ]
}

これは基本的にデフォルトのmakeターゲットですが、PATHに追加し、(もちろん)テストターゲットを追加しました。 gcc、ifort、またはコンパイルに使用しているものを見つけるために、PATHを拡張する必要がある場合があります。 LinuxとMacではディレクトリを区切るには:を使用し、Windowsでは;を使用します 。他の環境変数を変更することもできます。ライブラリとインクルードディレクトリが使用できるように、DYLD_LIBRARY_PATHとCPATHを設定する必要がありました。

SublimeプリファレンスのUserディレクトリにMake(OSX).sublime-buildとして保存する必要があります。 (OSX)は、このファイルがMacでのみ使用されることを保証するので、設定をMac以外のコンピューターにコピーするときに、パスをぶち壊すことはありません。

15
dbn

非常に望ましい解決策は、プラグインのPATHを調整するIMOであるため、すべてのビルドシステムと外部コマンドを呼び出すすべてのプラグインに対して一度だけ設定する必要があります。

あなたはただすることができます

import os
os.environ['PATH'] += os.pathsep + '/my/extra/path'

実世界の例は https://github.com/schlamar/ST3User/blob/master/preferences.py にあります

1
schlamar