mac添加環境變量


兩個問題:

1.nodejs的安裝

使用Mac OS X Binaries (.tar.gz)(64位)來安裝:

http://www.nodejs.org/download/

安裝參照:http://blog.snowinmay.net/?p=41

安裝要點:

1.1把之前的nodejs文件都清理掉:

rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1

1.2解壓文件到自己喜歡的目錄(最好是系統默認的程序安裝目錄,這樣不用寫環境變量)

我寫的環境變量:export PATH="~/work/node/bin:$PATH"

我這次安裝nodejs出現問題是因為在復制文件的時候把bin文件夾中的文件多復制了一層:

本來應該是這樣的:

 

Prince-2:node snowinmay$ ls
ChangeLog README.md include share LICENSE bin lib

Prince-2:node snowinmay$ cd bin/
Prince-2:bin snowinmay$ ls
node npm

node和npm在bin中,我復制的時候把node和npm放在了bin/bin/下面,所以和環境變量對應不起來了。

 

2.npm的安裝

npm的出錯分兩次,第一次是因為:curl https://npmjs.org/install.sh | sh 寫錯了,提示錯誤一直是:

directory sh: line 2: syntax error near unexpected token<'
'h: line 2: `<head><title>301 Moved Permanently</title></head>
Prince-2:node snowinmay$ sudo npm install -g npmlog

正確的寫法應該是:

curl -0 -L http://npmjs.org/install.sh | sudo sh

運行之后提示:

npm cannot be installed without nodejs.
Install node first, and then try again.

Maybe node is installed, but not in the PATH?
Note that running as sudo can change envs.

PATH=~/work/node/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/snowinmay/.rvm/rubies/ruby-2.0.0-p451/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/snowinmay/.rvm/bin

提示環境變量寫錯了,怪不得之前用:which node 和which npm都無效,看了一下環境變量文件:

export PATH="~/work/node/bin:$PATH" 改成了:

export PATH="$HOME/work/node/bin:$PATH"

Prince-2:bin snowinmay$ which node
/Users/snowinmay/work/node/bin/node
Prince-2:bin snowinmay$ which npm
/Users/snowinmay/work/node/bin/npm

Prince-2:bin snowinmay$ $PATH
-bash: /Users/snowinmay/work/node/bin:/Users/snowinmay/work/node/bin:~/work/node/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/snowinmay/.rvm/rubies/ruby-2.0.0-p451/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/snowinmay/.rvm/bin:/Users/snowinmay/.rvm/bin:/Users/snowinmay/.rvm/bin: No such file or directory

運行:

Prince-2:~ snowinmay$ curl -0 -L http://npmjs.org/install.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 193 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 6711 100 6711 0 0 2324 0 0:00:02 0:00:02 --:--:-- 5386
tar=/usr/bin/tar
version:
bsdtar 2.8.3 - libarchive 2.8.3
install npm@latest
fetching: http://registry.npmjs.org/npm/-/npm-1.4.21.tgz
0.10.29
1.4.21
cleanup prefix=/Users/snowinmay/work/node
find: /Users/snowinmay/work/node/share/man: No such file or directory
find: /Users/snowinmay/work/node/share/man: No such file or directory
find: /Users/snowinmay/work/node/lib/node: No such file or directory
find: /Users/snowinmay/work/node/lib/node: No such file or directory

All clean!

> npm@1.4.21 prepublish .
> node bin/npm-cli.js prune --prefix=. --no-global && rm -rf test/*/*/node_modules && make -j8 doc

make: Nothing to be done for `doc'.
/Users/snowinmay/work/node/bin/npm -> /Users/snowinmay/work/node/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.21 /Users/snowinmay/work/node/lib/node_modules/npm
It worked

問題結束

===================================

/etc/profile;/etc/bashrc 是針對系統所有用戶的全局變量,只有root用戶才能修改這兩個文件,對一般用戶來說是他們是只讀的。一般用戶要想修改它們,可以在命令前加sudo,意思是以Root身份執行,比如:sudo vi /etc/profile  ,然后按照提示輸入密碼即可。

因此,對於一般用戶而言,通常我們建議去修改~/.bash_profile來設置環境變量,它是用戶級的設置,只對當前用戶有效。
操作步驟:1、打開Terminal(終端)
            2、輸入:vi ~/.bash_profile
            3、設置PATH:export PATH=/usr/local/mysql/bin:$PATH
            4、輸入::wq    //保存並退出vi
            5、修改立即生效:source ~/.bash_profile
            6、查看環境變量的值:echo $PATH
注意:1、~/.bash_profile中有個點
        2、如果是新增環境變量或者是修改環境變量的值,都需要source一下才能立即生效。如果是刪除一個環境變量,必須輸入exit以logout當前shell,然后再重新打開一個新的shell並login才能生效。
 

Prince-2:~ snowinmay$ vim .bash_profile 

Prince-2:~ snowinmay$ source ~/.bash_profile
Prince-2:~ snowinmay$ $PATH
-bash: ~/work/node/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/snowinmay/.rvm/rubies/ruby-2.0.0-p451/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/snowinmay/.rvm/bin:/Users/snowinmay/.rvm/bin: No such file or directory

但是npm還是不能用:

Prince-2:node snowinmay$ node -v
v0.10.29
Prince-2:node snowinmay$ npm -v

module.js:340
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at /Users/snowinmay/work/node/bin/npm:19:11
at Object.<anonymous> (/Users/snowinmay/work/node/bin/npm:87:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
Prince-2:node snowinmay$
Prince-2:node snowinmay$
Prince-2:node snowinmay$ make install
make: * No rule to make target install'. Stop. Prince-2:node snowinmay$ curl https://npmjs.org/install.sh | sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 193 100 193 0 0 119 0 0:00:01 0:00:01 --:--:-- 153 sh: line 1: html: No such file or directory sh: line 2: syntax error near unexpected token<'
'h: line 2: `<head><title>301 Moved Permanently</title></head>
Prince-2:node snowinmay$ sudo npm install -g npmlog
Password:
sudo: npm: command not found
Prince-2:node snowinmay$
Prince-2:node snowinmay$ which node
Prince-2:node snowinmay$ which npm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM