安装less时出现错误

3
当我尝试通过以下命令安装less时:

npm install -g less

npm install less .

我遇到了一个错误:
npm ERR! Error: EROFS, symlink '../less/bin/lessc'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/isaacs/npm/issues>

npm ERR! System Linux 3.2.0-4-amd64
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "less" "."
npm ERR! cwd /var/www/epi
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! path ../less/bin/lessc
npm ERR! code EROFS
npm ERR! errno 56
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /var/www/epi/npm-debug.log
npm ERR! not ok code 0

我使用的是Debian Wheezy,从源码安装了Node。


“cat /var/www/epi/npm-debug.log” 说了什么?EROFS通常意味着您只能从文件系统中读取。 - Henrik Andersson
1个回答

12

尝试再次运行安装,添加 --no-bin-link 标志。

npm install --no-bin-link less .

当您执行常规安装时,结构如下所示:

.
└── node_modules
    ├── .bin
       └── lessc
    └── less

--no-bin-link 标志的作用仅仅是删除符号链接:

node_modules/.bin/lessc --> node_modules/less/bin/lessc
< p > `lessc` 可执行文件仍然可以使用:
.
└── node_modules
    └── less
        └── bin
            └── lessc

所有上述的想法都源自于您特定的错误:
Error: EROFS, symlink

然而,更普遍的情况是EROFS错误只是表示"错误:只读文件系统",因此您可能只需要更改正在运行安装命令的目录的权限,或使用sudo以root身份运行它。


使用“--no-bin-link”解决方案帮助我完成了虚拟安装。我正在使用主机计算机上的共享文件夹,并且在安装某些软件包时遇到了许多问题。 - Rodolphe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接