2012-01-19 181 views
3

我運行了命令 -npm打包程序安裝錯誤

sudo curl http://npmjs.org/install.sh | sh

但我得到這個錯誤。誰能幫忙?

Password: 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
101 7881 101 7881 0  0 5165  0 0:00:01 0:00:01 --:--:-- 7696 
tar=/usr/bin/tar 
version: 
bsdtar 2.6.2 - libarchive 2.6.2 
install [email protected] 
fetching: http://registry.npmjs.org/npm/-/npm-1.0.106.tgz 
0.5.11-pre 
1.0.106 
cleanup prefix=/usr/local 
All clean! 
npm ERR! Could not create /usr/local/lib/node_modules/___npm.npm 
npm ERR! error installing [email protected] Error: EACCESS, Permission denied '/usr/local/lib/node_modules' 
npm ERR! Error: EACCESS, Permission denied '/usr/local/lib/node_modules' 
npm ERR! Report this *entire* log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 
npm ERR! 
npm ERR! System Darwin 10.8.0 
npm ERR! command "/usr/local/bin/node" "/private/var/folders/a4/a4oBVIXZEDS3kWEMo4Gh8U+++TI/-Tmp-/npm.4405/package/cli.js" "install" "-gf" 
npm ERR! cwd /private/var/folders/a4/a4oBVIXZEDS3kWEMo4Gh8U+++TI/-Tmp-/npm.4405/package 
npm ERR! node -v v0.5.11-pre 
npm ERR! npm -v 1.0.106 
npm ERR! path /usr/local/lib/node_modules 
npm ERR! code EACCESS 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /private/var/folders/a4/a4oBVIXZEDS3kWEMo4Gh8U+++TI/-Tmp-/npm.4405/package/npm-debug.log 
npm not ok 
It failed 
+0

'chmod'你至少要暫時安裝的目錄... –

回答

5

呼叫使用命令sudo

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

是的..想通了,我的壞..到垃圾郵件 – Ashish

+1

這不是垃圾郵件,如果你重新格式化你的問題,以便將來如果別人面臨同樣的問題,他/她可以理解你的追求離子容易。如果它解決了您的問題,您也可以接受並高舉答案。 –

+0

sh:移動::未找到 –

10

他們建議在本網站不使用sudo:http://howtonode.org/introduction-to-npm,並改用:

sudo chown -R $USER /usr/local 

其次:

curl http://npmjs.org/install.sh | sh 
+0

謝謝。「It works」:) – abhi

+4

讓我讚揚這一點:永遠不要做這件事。這是一個http鏈接,你正在執行一個遠程腳本:-)。 – zallarak

+3

除非您真的知道自己在做什麼,否則您不想更改/ usr/local的權限。 – jottr

0

下面是從源代碼安裝給定發行版的步驟 注意 - 這會安裝nodejs,它可以爲您提供節點以及npm, 它們會在每個發行版中一起使用。

從頭開始之前刪除node.js的和NPM安裝以及這些:

sudo mv ~/.npmrc ~/.npmrc_ignore 
sudo mv ~/.npm ~/.npm_ignore 
sudo mv ~/tmp ~/tmp_ignore 
sudo mv ~/.npm-init.js ~/.npm-init.js_ignore 

安裝和的NodeJS作爲故宮自己不是root執行這些命令(OSX/Linux的):

export NODE_PARENT=${HOME}/bin_0_10_32 

mkdir ${NODE_PARENT} 

下載源來自:http://nodejs.org/download/

cd node-v0.xxxx 

./configure --prefix=${NODE_PARENT}/nodejs 

make -j8 
make install # IMPORTANT this is NOT using sudo 
       # not wanted since installing into $USER owned $NODE_PARENT 

該把它放到目錄由上述定義--prefix

export PATH=${NODE_PARENT}/nodejs/bin:$PATH 

定義環境變量NODE_PATH所以節點可以找到模塊的目錄,否則 NPM安裝XXX將會把新安裝的模塊到當前目錄:

export NODE_PATH=${NODE_PARENT}/nodejs/lib/node_modules 

當您使用語法: NPM安裝-g some_cool_module 全球的-g安裝成DIR $ NODE_PATH,而不是你的$ PWD

安裝的NodeJS給你NPM以及:

ls -la ${NODE_PARENT}/nodejs/bin 

安裝使用全局標誌-g將自動地把自己的 〜雙星〜成以上bin目錄後續模塊......像browserify

現在把上面的三個出口XXX = YYY 命令到你的〜/ .bashrc或者其他的一些這樣你的環境設置