2010-12-04 23 views
1

我試圖完成以下教程顯示常春藤,如果我去cd $HOME/ivy/bin,然後輸入node,我會得到節點環境。然而,當我加入這.profile

PATH = 「$ HOME /藤/斌:$ PATH」

我將退出我的會話,重新登錄,並在這裏就是require.paths顯示:

> require.paths 
[ '/home/myusername/.node_modules', 
    '/home/myusername/.node_libraries', 
    '/usr/local/lib/node' ] 

它不是拿起'/home/myusername/ivy/lib/node' ......這是怎麼回事?

回答

2

require.paths自7月份(文章發表時)已更改。

var modulePaths = [path.join(process.execPath, '..', '..', 'lib', 'node')]; 

if (process.env['HOME']) { 
    modulePaths.unshift(path.join(process.env['HOME'], '.node_libraries')); 
    modulePaths.unshift(path.join(process.env['HOME'], '.node_modules')); 
} 

if (process.env['NODE_PATH']) { 
    modulePaths = process.env['NODE_PATH'].split(':').concat(modulePaths); 
} 

參見:https://github.com/ry/node/blob/master/src/node.js#L133

現在,您需要定義NODE_PATH,並添加路徑(S)有:

# add ~/foo and ~/bla to the require.paths 
export NODE_PATH=$HOME/foo:$HOME/bla 

結果:

> require.paths 
[ '/home/ivo/foo', 
    '/home/ivo/bla', 
    '/home/ivo/.node_modules', 
    '/home/ivo/.node_libraries', 
    '/home/ivo/.local/lib/node' ] 
1

是否應該在您的.bash_profile文件或.bashrc文件中?聽起來像你的.profile文件不是來源。

+0

我添加路徑這些文件以及沒有區別。 – 2010-12-04 18:03:18

+0

在調用節點之前在終端上使用`env`會發生什麼? – Tristan 2010-12-04 18:11:41