Tag: bash

使用bash和Node.js的child_process使用shell选项失败

subprocessAPI可以用来在node.js中执行shell脚本。 我使用child_process.exec(命令[,选项],callback)函数 作为一个选项,exec的用户可以设置shell:'/ path / to / shell'来select要使用的shell。 (默认为'/ bin / sh') 将选项设置为{shell:'/ bin / bash'}不会使exec用bash命令。 我已经通过发出打印“/ bin / sh”的命令“echo $ 0”来validation这一点。 如何通过shell选项使用bash和child_process.exec? (我的目标是在bashrc中使用我的path定义,现在当我尝试使用grunt时,无法find二进制文件。设置cwd,选项字典中的当前工作目录按预期工作) —————–更新,例如 'use strict'; var cp = require('child_process'); cp.exec('echo $0', { shell: '/bin/bash' }, function(err, stdout, stderr){ if(err){ console.log(err); console.log(stderr); } console.log(stdout); }); 输出: /bin/sh which bash 打印:/ bin / bash

进程replace – Node.js child_process

我试图从标准输出读取修改的内容之前运行subprocess修改文件(分两步)。 我试图通过使用在bash中完美工作的进程replace,而不是当我从节点尝试它。 这是那种命令的样子 var p = exec('command2 <(capture /dev/stdout | command1 -i file -) -', function (error, stdout, stderr) { console.log(stderr); }); stderr打印: /bin/sh: -c: line 0: syntax error near unexpected token `(' 在节点中做这件事的正确方法是什么?

从节点映像运行docker容器时找不到Npm

# Dockerfile FROM node:7-alpine RUN mkdir -p /src/app WORKDIR /src/app COPY package.json /src/app/package.json RUN npm install COPY . /src/app EXPOSE 3000 CMD ['npm', 'start'] 我正在尝试使用上面的Dockerfile为Dockerizing nodejs应用程序完成katacoda.com练习。 构build完成,但立即运行图像退出,并在我看到的docker日志中: /bin/sh: [npm,: not found 我试图用docker -it nodeapp /bin/bash在docker -it nodeapp /bin/bash运行容器,它引发了错误docker -it nodeapp /bin/bash docker: Error response from daemon: oci runtime error: container_linux.go:262: starting container process caused "exec: […]

BASH脚本启动一个node.js套接字服务器作为服务

基本上我想完成的是一些脚本或方法,以启动一个node.js套接字服务器脚本作为服务。 这是为了让我不必在SSH上运行'node server.js',而必须在打开时坐在那里。 任何帮助,将不胜感激。 感谢Scott

I / O绑定和CPU绑定

喜。 我用Node.JS使用child_process来产生bash进程。 我试图了解,如果我正在做I / O绑定,CPU绑定或两者兼而有之。 我正在使用pdftotext来提取10k +文件的文本。 为了控制并发,我使用asynchronous 。 码: let spawn = require('child_process').spawn; let async = require('async'); let files = [ { path: 'path_for_file' … }, … ]; let maxNumber = 5; async.mapLimit(files, maxNumber, (file, callback) => { let process = child_process.spawn('pdftotext', [ "-layout", "-enc", "UTF-8", file.path, "-" ]); let result = ''; let […]

“DEBUG = myapp:* npm start”的解释实际上是在做

快速应用程序生成器(位于此处 )的入门页面指出使用$ DEBUG=myapp:* npm start启动服务器$ DEBUG=myapp:* npm start如果使用MacOS或Linux)。 这工作正常,但我无法理解这一行实际上在做什么。 我会猜想它将分配的东西给variablesDEBUG ,但退出服务器后,我运行echo $DEBUG ,它什么都不打印。 我在猜测:是关键,但是我不清楚怎么样/为什么。 希望有人能为我打破这个。

-bash:react-native:找不到命令

我已经成功安装了brew,node 4.0+,watchman和flow,并且在执行npm install -g react-native-cli时收到以下内容: /Users/home/.node/bin/react-native -> /Users/home/.node/lib/node_modules/react-native-cli/index.js react-native-cli@0.1.5 /Users/home/.node/lib/node_modules/react-native-cli └── prompt@0.2.14 (revalidator@0.1.8, pkginfo@0.3.1, read@1.0.7, winston@0.8.3, utile@0.2.1) 所以我假设react-native-cli已经成功安装了。 然而,当我运行反原生,它说 -bash: react-native: command not found 我的节点版本是4.2.1,watchman 3.9,brew 0.9.5(git 7ed6)和npm 2.14.7

无法使用Bash&NPMreplaceconfiguration中的env

我正在尝试在我的应用程序中使用私有NPM模块,并且需要设置适当的NPM访问令牌,以便第三方工具(Heroku和CI)可以访问并安装该模块。 我在~/.bash_profile设置了以下行: export NPM_TOKEN="XXXXX-XXXXX-XXXXX-XXXXX" 然后在/path/to/app/.npmrc我有 //registry.npmjs.org/:_authToken=${NPM_TOKEN} 但是,每当我打开我的terminal,我在启动时出现以下错误: Error: Failed to replace env in config: ${NPM_TOKEN} at /Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:429:13 at String.replace (native) at envReplace (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:424:12) at parseField (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:400:7) at /Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:338:17 at Array.forEach (native) at Conf.add (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:337:23) at ConfigChain.addString (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/node_modules/config-chain/index.js:244:8) at Conf.<anonymous> (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/config/core.js:325:10) at /Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:76:16 /Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/npm.js:29 throw new Error('npm.load() required') ^ Error: npm.load() required at Object.npm.config.get (/Users/marcthomas/.nvm/versions/node/v4.2.1/lib/node_modules/npm/lib/npm.js:29:11) at […]

在Mac上停止node.js进程

我有一个node.js应用程序使用一些套接字端口。 有时,当我用Ctrl + C退出应用程序时,某种节点进程仍在运行,仍然分配套接字端口。 因此,我无法重新启动我的应用程序,因为它无法打开这些端口。 当我看到ps的情况,我得到以下回应: $ ps PID TTY TIME CMD 40454 ttys000 0:00.11 -bash 41643 ttys001 0:00.00 (node) 41741 ttys001 0:00.00 (node) 试图kill -9 41643不会杀死进程。 这是一种不可抗拒的僵尸吗? 我怎样才能摆脱阻塞我的tcp端口的(节点)?

zshrc“命令未find:npm”

所以我正在研究学习node.js。 我一直在按照这个教程安装它,并尝试一些东西了。 无论如何,npm的performance真的很奇怪。 它会工作一段时间(例如,我改变了它的查看器configuration设置),但突然“消失”,以便下一次我进入 npm …(anything) 在命令行中,我的shell通知我npm命令没有find。 以前,使用nvm卸载然后重新安装npm已经奏效了,但是我宁愿不要每隔十分钟就这样做一次,对我来说这太突然了,它会突然停止工作。 我想最后一次,我编辑后,停止工作,然后重新我的〜/ .zshrc文件 – 只是添加npm和节点标签完成插件。 任何想法发生了什么? 我会发布几个基本命令的结果,但是我对系统pipe理员的东西非常不满,我真的不知道在这里寻找什么。 nvm -ls v0.8.22 current: v0.10.2 default -> 0.8 (-> v0.8.22) 哪个节点 /usr/bin/node 其中npm npm not found 有两个nvm(这是重复的?)和npm目录直接在我的根文件夹。 如果我进入/ usr / bin,node是一个文件,而不是一个目录。 还有一个文件npm,但不是文件nvm。 以上所有可能表明,我真的不知道发生了什么事情。 我已经search了这个,但没有人似乎有这个问题。 任何想法正在发生或如何找出? 编辑注意到我的默认节点不是最新的,我做了这一切。 撇开为什么我的shell自动切换到bin目录(为什么这似乎是一个github回购 – 不知道怎么了我的电脑),这是否提供任何线索? ➜ node nvm alias default v0.10.2 default -> v0.10.2 ➜ node nvm […]