我是新來make和Makefiles,但我正在嘗試爲我的下一個項目創建一個,並且遇到PATH問題。我不斷收到錯誤:「沒有這樣的文件或目錄」在Makefile中設置PATH的問題
我創建了一個名爲test
簡單的目標,使用mocha運行了所有的考試。
Mocha作爲本地節點模塊安裝,因此它的可執行文件位於./node_modules/.bin/mocha
。我正在改變我的路徑,如this make tutorial中所述,所以我可以將其稱爲mocha
而不是鍵入完整路徑,但似乎沒有工作。
這是我到目前爲止有:
export PATH := node_modules/.bin:$(PATH)
test:
which mocha
mocha
.PHONY: test
當我運行make test
我得到以下的輸出:
which mocha
node_modules/.bin/mocha
mocha
make: mocha: No such file or directory
make: *** [test] Error 1
正如你可以從輸出中看到,which mocha
正確打印路徑mocha可執行文件,但是當我只是運行mocha
時,它找不到它。
我在做什麼錯?是否有關於我失蹤的Makefiles中的變量作用域或持久性的更多信息?
P.S.如果它很重要,我使用Mac和XCode開發人員工具附帶的make版本。這是我所得到的,當我運行make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
這很奇怪。如果刪除'export PATH:= node_modules/.bin:$( PATH)'並運行make,如下所示:$ PATH = node_modules/.bin:$ PATH make test工作正常嗎? –
是的,如果我這樣做,工作得很好。 –