【发布时间】:2016-10-31 11:59:32
【问题描述】:
我有一个在 /some/project/folder 内部运行的简单脚本
脚本如下:
exec("npm -v", (err, stdout, stderr) => {
$log.info('version installed', stdout);
});
现在,当我运行此节点脚本时,它会输出 3.10.9,但是当我进入 /some/project/folder(通过终端)并手动运行 npm -v 时,它会输出 3.3.6
**
这怎么可能?
**
我一直在使用 nvm,但我不明白这是否有问题。
有什么建议?
谢谢
【问题讨论】:
-
将 exec 更改为
exec("which npm", (err...etc会得到什么?从命令行运行which npm会得到什么? -
@LarryTurtis 等..../.nvm/versions/node/v5.0.0/bin/npm
-
如果我运行 npm outdated -g npm --json 信息是正确的:O
-
在这两种情况下(从命令行和节点脚本)你得到相同的可执行文件?
-
@LarryTurtis 很抱歉,非常感谢您的努力,现在一切都已修复,我不知道为什么今天它可以工作,也许某处有某种缓存:O 真的不知道,谢谢反正很多!
标签: javascript node.js npm exec nvm