我正在尝试使用Node脚本npm login
进入私有注册表。在bash中,以下命令像超级按钮一样运行:
echo -e "testuser\ntestpassword\ntest@test.test\n" \
| npm login --registry=http://localhost:4873/
但是,我无法使用Node脚本以相同的方式调用npm
。我尝试过:
const spawn = require("child_process").spawn;
const childProcess = spawn("npm", ["login", "--registry=http://localhost:4873"]);
childProcess.stdin.write("testuser\ntestpassword\ntest@test.test\n");
childProcess.stdout.pipe(process.stdout);
childProcess.stderr.pipe(process.stderr);
npm
进程收到用户名,但在询问密码时停止。我不明白使用bash或使用Node流将"testuser\ntestpassword\ntest@test.test\n"
字符串传递给进程之间有什么区别。另外,可行的实现会很好。
谢谢!