npm 安装在 FAT32 sile 系统上失败

npm install fails on FAT32 sile system

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

$ 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 不支持符号链接 and/or chmod 引起的。但真的没有解决方法吗?

GitHub 上有一个未解决的问题,维护人员同意这是一个错误,应该修复,但线程已经闲置一年多了。

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

最后,环顾网络,我找到了 FAT32 file system driver and FAT16/FAT32 filesystem implementation 个软件包。由于他们的文档都很稀少,所以我不知道他们是否可以帮助解决这个问题?

尝试通过 运行ning 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,请通过 运行ning npm config set bin-links false 在 npm 配置中将 bin-links 设置为 false。您可以选择每次 运行 npm install --no-bin-links。第一个命令对 npm 配置进行了更改,因此您不必在每次 运行 npm install 时都添加 --no-bin-links 标志。这是 npm 配置文档中推荐的方法,可以让 npm 在不支持符号链接的 systems/drives 上工作。