Termux不允许您在/ storage / emulated / 0中创建符号链接。这是由于其文件系统的设计限制。因此,某些npm安装将失败,并显示以下错误:
npm install js-yaml
npm ERR! code EPERM
npm ERR! syscall symlink
npm ERR! path ../esprima/bin/esparse.js
解决方法#1:
全局执行npm安装:
npm install --global js-yaml
如果您的程序由于找不到包而无法运行:
var yaml = require('js-yaml');
Error: Cannot find module 'js-yaml'
解决方法2:
按如下方式对程序中的完整路径进行硬编码:
var yaml = require('/data/data/com.termux/files/usr/lib/node_modules/js-yaml/lib/js-yaml.js');
请发表评论。
答案 0 :(得分:0)
尝试此解决方案。
npm config set unsafe-perm true
npm cache clean
npm install --no-bin-links