兩個問題: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.11.2解壓文件到自己喜歡的目錄(最好是系統(tǒng)默認的程序安裝目錄,這樣不用寫環(huán)境變量)我寫的環(huán)境變量:export PATH="~/work/node/bin:$PATH"我這次安裝nodejs出現(xiàn)問題是因為在復制文件的時候把bin文件夾中的文件多復制了一層:本來應該是這樣的: Prince-2:node snowinmay$ lsChangeLogREADME.mdincludeshare LICENSEbinlibPrince-2:node snowinmay$ cd bin/Prince-2:bin snowinmay$ lsnodenpmnode和npm在bin中,我復制的時候把node和npm放在了bin/bin/下面,所以和環(huán)境變量對應不起來了。 2.npm的安裝npm的出錯分兩次,
第一次是因為:curl https://npmjs.org/install.sh | sh 寫錯了,提示錯誤一直是:directory sh: line 2: syntax error near unexpected token<''h: line 2: `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提示環(huán)境變量寫錯了,怪不得之前用:which node 和which npm都無效,看了一下環(huán)境變量文件:export PATH="~/work/node/bin:$PATH" 改成了:export PATH="$HOME/work/node/bin:$PATH"Prince-2:bin snowinmay$ which node/Users/snowinmay/work/node/bin/nodePrince-2:bin snowinmay$ which npm/Users/snowinmay/work/node/bin/npmPrince-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 CurrentDload Upload Total Spent Left Speed0 193 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 6711 100 6711 0 0 2324 0 0:00:02 0:00:02 --:--:-- 5386tar=/usr/bin/tarversion:bsdtar 2.8.3 - libarchive 2.8.3install npm@latestfetching: http://registry.npmjs.org/npm/-/npm-1.4.21.tgz0.10.291.4.21cleanup prefix=/Users/snowinmay/work/nodefind: /Users/snowinmay/work/node/share/man: No such file or directoryfind: /Users/snowinmay/work/node/share/man: No such file or directoryfind: /Users/snowinmay/work/node/lib/node: No such file or directoryfind: /Users/snowinmay/work/node/lib/node: No such file or directoryAll clean!> npm@1.4.21 prepublish .> node bin/npm-cli.js prune --prefix=. --no-global && rm -rf test/*/*/node_modules && make -j8 docmake: Nothing to be done for `doc'./Users/snowinmay/work/node/bin/npm -> /Users/snowinmay/work/node/lib/node_modules/npm/bin/npm-cli.jsnpm@1.4.21 /Users/snowinmay/work/node/lib/node_modules/npmIt worked問題結(jié)束===================================/etc/profile;/etc/bashrc 是針對系統(tǒng)所有用戶的全局變量,只有root用戶才能修改這兩個文件,對一般用戶來說是他們是只讀的。一般用戶要想修改它們,可以在命令前加sudo,意思是以Root身份執(zhí)行,比如:sudo vi /etc/profile? ,然后按照提示輸入密碼即可。因此,對于一般用戶而言,通常我們建議去修改~/.bash_profile來設(shè)置環(huán)境變量,它是用戶級的設(shè)置,只對當前用戶有效。操作步驟:1、打開Terminal(終端)? ? ? ? ? ? 2、輸入:vi ~/.bash_profile? ? ? ? ? ? 3、設(shè)置PATH:export PATH=/usr/local/mysql/bin:$PATH? ? ? ? ? ? 4、輸入::wq? ? //保存并退出vi? ? ? ? ? ? 5、修改立即生效:source ~/.bash_profile? ? ? ? ? ? 6、查看環(huán)境變量的值:echo $PATH注意:1、~/.bash_profile中有個點? ? ? ? 2、如果是新增環(huán)境變量或者是修改環(huán)境變量的值,都需要source一下才能立即生效。如果是刪除一個環(huán)境變量,必須輸入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 -vv0.10.29Prince-2:node snowinmay$ npm -vmodule.js:340throw 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:11at Object.(/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: `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