我正在尝试在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 driver和FAT16/FAT32 filesystem implementation个软件包。由于他们的文档非常缺乏,所以我不知道他们是否可以帮助解决这个问题?
答案 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处理不支持符号链接的系统/驱动器。