在FAT32静音系统上npm安装失败

时间:2016-11-19 09:27:11

标签: node.js npm npm-install

我正在尝试在FAT32驱动器上的文件夹中运行npm install,这是我得到的错误:

$ npm install
/work/sites/project
└── (empty)

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.15: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! Linux 4.8.0-27-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! path ../semver/bin/semver
npm ERR! code EPERM
npm ERR! errno -1
npm ERR! syscall symlink

npm ERR! Error: EPERM: operation not permitted, symlink '../semver/bin/semver' -> '/work/sites/project/node_modules/accord/node_modules/.bin/semver'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, symlink '../semver/bin/semver' -> '/work/sites/project/node_modules/accord/node_modules/.bin/semver'
npm ERR!     at Error (native)
npm ERR!   errno: -1,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'symlink',
npm ERR!   path: '../semver/bin/semver',
npm ERR!   dest: '/work/sites/project/node_modules/accord/node_modules/.bin/semver',
npm ERR!   parent: 'accord' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /work/sites/project/npm-debug.log
npm ERR! code 1
$

到目前为止,我知道问题是由FAT32不支持符号链接和/或chmod引起的。但是,这是否真的没有解决方法呢?

GitHub上存在一个问题,维护人员认为这是一个错误,应该修复,但该线程已经闲置了一年多。

同样在同一个线程中,用户mgiorgino提到在Windows下运行的npm install不会出现此错误。我没有机会确认这一点,Windows上是否有人能够在FAT32文件系统上成功运行npm install?如果是,是否有任何方法可以在Linux下获得相同的功能?

最后,我在网上浏览了FAT32 file system driverFAT16/FAT32 filesystem implementation个软件包。由于他们的文档非常缺乏,所以我不知道他们是否可以帮助解决这个问题?

1 个答案:

答案 0 :(得分:5)

尝试通过运行npm install npm@latest -g来更新npm。我运行了该命令,并将其更新为v4.0.2。如果它与代码相关,则最近的更新可能包含修复。 Command in footer of the npm docs page.

systems unable to create symlinks.上使用npm install时,禁用符号链接可帮助大量用户 要使用符号链接关闭npm,请通过运行npm config set bin-links false将npm配置中的bin-links设置为false。您可以选择每次运行npm install --no-bin-links。第一个命令对npm配置进行更改,因此每次运行--no-bin-links时都不必添加npm install标志。这是npm配置文档中推荐的方法,可以让npm处理不支持符号链接的系统/驱动器。