我正在使用nodejs的安装,如here所述。
当我运行时:# 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
Root是系统中唯一的用户(debian-jessie),因此权限应该不是问题。我尝试了this(其中还包括手动创建全局目录的选项),但无济于事。我非常希望将它保存在一个(全局)目录中。
提前感谢您的帮助。
答案 0 :(得分:2)
修好了。排序。
重新安装的nodejs
将NODE_PATH(为空)设置为/usr/lib/node_modules
已使用sudo npm install -g markdown-pdf --unsafe-perm=true --allow-root
(请参阅here)