內node_modules/.bin
每個二進制有以下代碼:爲什麼二進制NPM文件有兩個檢查
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
# check if there is node executable in the same directory as this binary
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../angular-cli/bin/ng" "[email protected]"
ret=$?
else
node "$basedir/../angular-cli/bin/ng" "[email protected]"
ret=$?
fi
exit $ret
我有點明白這是什麼代碼正在做(評論是我的),但有沒有什麼地方解釋爲什麼他們在這裏(一些用例)?
謝謝_當這個模塊被全局安裝並且有一個可執行文件與Node_在同一個地方 - 但是腳本假定你運行的是直接放在帶節點的文件夾中的可執行文件,而不是'node_modules /中的文件。 bin',對嗎?那麼用'uname'檢查呢? –
對'uname'的支票有任何評論? –
@Maximus我在'uname'檢查中添加了信息。看到我更新的答案。 – rsp