Termux NodeJS - npm 安装失败,无法创建符号 link。解决方法

Termux NodeJS - npm install fails, cannot create symbolic link. Workaround

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