2017-10-11 73 views
0

我正在使用nodejs的安裝,如here所述。npm全局安裝鏈接到錯誤的目錄

當我運行此:# npm install -g markdown-pdf

我收到以下錯誤:

(PhantomJS is a Requirement for markdown-pdf): 
Phantom installation failed { Error: EACCES: permission denied, link 
'/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract- 
1507729380912/phantomjs-2.1.1-linux-x86_64' -> 
'/usr/lib/node_modules/markdown-pdf/node_modules/phantomjs- 
prebuilt/lib/phantom' 
errno: -13, 
code: 'EACCES', 
syscall: 'link', 
path: '/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract- 
1507729380912/phantomjs-2.1.1-linux-x86_64', 
dest: '/usr/lib/node_modules/markdown-pdf/node_modules/phantomjs- 
prebuilt/lib/phantom' } Error: EACCES: permission denied, link 
'/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract- 
1507729380912/phantomjs-2.1.1-linux-x86_64' -> 
'/usr/lib/node_modules/markdown-pdf/node_modules/phantomjs- 
prebuilt/lib/phantom' 

正如人們所看到的,試圖鏈接到/usr/lib/node_modules/markdown-pdf

然而,當發生錯誤,實際node_modules (包含實際模塊)文件夾位於/usr/lib/node_modules/npm/node_modules

根是系統上唯一的用戶(debian-jessie),因此權限不應該成爲問題。我試過this(其中還包括手動創建全局目錄的選項),但無濟於事。我非常希望將它全部保存在一個(全局)目錄中。

在此先感謝您的幫助。

回答

0

修好了。有點。

重新安裝的NodeJS

集NODE_PATH(這是空的),以/usr/lib/node_modules

使用sudo npm install -g markdown-pdf --unsafe-perm=true --allow-root(見here