我正在尝试编写一个使用NPM API的Node脚本。该脚本有效,但需要管理员访问才能安装某些模块。我尝试使用sudo
运行脚本,但是在需要NPM的行上失败了。
我把它提炼成以下简单的脚本:
var npm = require('npm'),
assert = require('assert');
assert.notEqual(npm, null, 'NPM is null');
定期使用node npm.js
运行此脚本,并使用sudo node npm.js
运行它会引发以下情况:
Error: Cannot find module 'npm'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Projects/MyNPM/npm.js:1:73)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
我缺少什么,以及当我使用sudo
时路径结构会发生什么?
答案 0 :(得分:0)
最后通过在本地安装NPM到目录来解决。谢谢@SLaks!