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');
请评论。
试试这个解决方案。
安装全局NPM包
npm config set unsafe-perm true
清除缓存
npm cache clean
绕过符号链接问题
npm install --no-bin-links