運(yùn)行ionic時(shí),出現(xiàn)環(huán)境變量設(shè)置到/nodejs/node-global,比正確的路徑多了一層。正確路徑只到/nodejs,即可!
搭建編譯環(huán)境時(shí)為什么有時(shí)候要設(shè)置環(huán)境變量,而有時(shí)又設(shè)置用戶變量?
環(huán)境變量分為系統(tǒng)環(huán)境變量和用戶環(huán)境變量。
你所說(shuō)的環(huán)境變量是指系統(tǒng)環(huán)境變量,對(duì)所有用戶起作用
而用戶環(huán)境變量只對(duì)當(dāng)前用戶起作用。
例如要用java,那么你把java的bin目錄加入到path變量下面,那么它就是系統(tǒng)環(huán)境變量,所用用戶登陸,在命令行輸入java都會(huì)有java的幫助信息出來(lái)。而如果你在某個(gè)用戶的變量下面新建一個(gè)變量,那么它就只對(duì)這個(gè)用戶有用,當(dāng)你以其他用戶登陸時(shí)這個(gè)變量就和不存在一樣。
這個(gè)問(wèn)題在linux下面就相對(duì)好理解一些,系統(tǒng)變量都在/etc/profile文件里面,而用戶的變量則在~/.bash_profile(如果用的是bash的話),每個(gè)用戶的用戶目錄對(duì)其他用戶不可見(jiàn)。假設(shè)有a,b,c三個(gè)用戶,你在a的變量文件中寫入語(yǔ)句在屏幕上述出a,在b的輸出b,c的什么都不輸出,系統(tǒng)文件輸出sys,那么當(dāng)你用a用戶登陸時(shí),輸出a;用戶b登陸輸出b,用戶c則輸出sys.
補(bǔ)充:
在windows下面用到少設(shè)置環(huán)境變量的時(shí)候很少,例如你想只用jdk而不想用jbuilder,那么你就得自己設(shè)置jdk的path,classpath等環(huán)境變量。
在linux下,那些文件是系統(tǒng)自動(dòng)生成的,可以手動(dòng)更改他已達(dá)到我所說(shuō)的效果。它們是在各自所屬的用戶登陸時(shí)自動(dòng)運(yùn)行的Windows下JAVA環(huán)境變量的設(shè)置祥解
Windows下JAVA用到的環(huán)境變量主要有3個(gè),JAVA_HOME、CLASSPATH、PATH。下面逐個(gè)分析。
JAVA_HOME指向的是JDK的安裝路徑,如x:\JDK_1.4.2,在這路徑下你應(yīng)該能夠找到bin、lib等目錄。值得一提的是,JDK的安裝路徑可以選擇任意磁盤目錄,不過(guò)建議你放的目錄層次淺一點(diǎn),如果你放的目錄很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步驟和以后的應(yīng)用你都要受累了,呵呵。設(shè)置方法:
JAVA_HOME=x:\JDK_1.4.2
PATH環(huán)境變量原來(lái)Windows里面就有,你只需修改一下,使他指向JDK的bin目錄,這樣你在控制臺(tái)下面編譯、執(zhí)行程序時(shí)就不需要再鍵入一大串路徑了。設(shè)置方法是保留原來(lái)的PATH的內(nèi)容,并在其中加上%JAVA_HOME%\bin
(注,如果你對(duì)DOS批處理不了解,你可能不明白%%引起來(lái)的內(nèi)容是什么意思;其實(shí)這里是引用上一步設(shè)定好的環(huán)境變量JAVA_HOME,你寫成x:\JDK_1.4.2也是可以的;你可以打開(kāi)一個(gè)控制臺(tái)窗口,輸入echo
%JAVA_HOME%來(lái)看一下你的設(shè)置結(jié)果) :
PATH=%JAVA_HOME%\bin;%PATH%
同樣,%PATH%是引用以前你設(shè)置的PATH環(huán)境變量,你照抄以前的值就行了。
CLASSPATH環(huán)境變量我放在最后面,是因?yàn)橐院竽愠霈F(xiàn)的莫名其妙的怪問(wèn)題80%以上都可能是由于CLASSPATH設(shè)置不對(duì)引起的,所以要加倍小心才行。
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",如果你看不清,我給你念念——句點(diǎn)反斜杠分號(hào)。這個(gè)是告訴JDK,搜索CLASS時(shí)先查找當(dāng)前目錄的CLASS文件——為什么這樣搞,這是由于LINUX的安全機(jī)制引起的,LINUX用戶很明白,WINDOWS用戶就很難理解(因?yàn)閃INDOWS默認(rèn)的搜索順序是先搜索當(dāng)前目錄的,再搜索系統(tǒng)目錄的,再搜索PATH環(huán)境變量設(shè)定的)
,所以如果喜歡盤根究底的朋友不妨研究一下LINUX。
為什么CLASSPATH后面指定了tools.jar這個(gè)具體文件?不指定行不行?顯然不行,行的話我還能這么羅索嘛!:)
這個(gè)是由java語(yǔ)言的import機(jī)制和jar機(jī)制決定的,你可以查資料解決。
呵呵,具體的設(shè)定方法: 用戶右鍵點(diǎn)擊我的電腦->屬性->高級(jí)->環(huán)境變量,修改下面系統(tǒng)變量那個(gè)框里的值就行了。
win9x用戶修改autoexec.bat文件,在其末尾加入:
JAVA_HOME=x:\JDK_1.4.2\bin;
PATH=%JAVA_HOME%;%PATH%;
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
右鍵點(diǎn)我的電腦-屬性-高級(jí)-環(huán)境變量-新建環(huán)境變量(有path的話可以直接雙擊,改變量值就可以了):
變量名:path
變量值(路徑):E:\java..(你安裝java的名字)\bin