Tag: bash

指定特定testing的节点版本

如果节点版本大于x,是否可以在package.json的test指定运行某个testing? 目前,我正在使用摩卡咖啡和我的脚本如下所示: if [node –version > '0.10'] then mocha –harmony ./tests/koa/*.js else mocha ./tests/*.js 我发现似乎可以使用if语句,但是使用上面的语句只是给了我一个错误:– –version was unexpected at this time.

为什么我不能使用Node JS中的subprocess输出响应?

我正在使用Express和试图执行脚本并通过AJAX将该脚本的输出返回到客户端的节点JS。 该脚本正在成功完成,但出于某种原因,我无法得到输出显示在后响应。 let childProcess = require('child_process'); router.post('/update', (req, res) => { childProcess.exec('/home/dir/app/update.sh', { shell: '/bin/bash' }, (error, stdout, stderr) => { res.json({ error, stdout, stderr }); }); }); 节点进程使用Forever运行。 如果我看看永久日志,它会显示: 永远检测到的脚本被SIGKILL信号杀死 不确定那是什么意思。 看起来脚本正在成功完成。 编辑为了解决艾康的答案在下面。 我尝试了以下,但仍然没有去。 router.post('/update', (req, res) => { console.log('start…'); childProcess.exec('/home/dir/app/update.sh', { shell: '/bin/bash' }, (error, stdout, stderr) => { console.log('done'); error = error […]

npm在更改前缀后没有响应

我试图通过npm最近更新我的IONIC CLI,安装成功了几次,但CLI版本没有改变。 经过研究,我决定改变npm前缀,然后IONIC提出投掷bash:找不到IONIC命令。 之后我做了进一步的研究,之后我通过windows cmd admin编辑了npmconfiguration。 我做了 npm cofig edit 我改变了前缀 \users\<username>\ 从那以后,npm不再回应。 如果我运行类似的东西 npm install -g ionic 没有任何反应,也没有任何错误或任何forms的反应 我有几次卸载并重新安装节点。 我正在使用节点V4.2.2。

在bash中查找并合并所有的package.json文件到jq中?

我怎样才能find所有的package.json文件,并在Bash中使用jq将它们合并成一个文件? 以下片段是我已经得到,但它附加的文件: find ../../projects -maxdepth 4 -type f -name "package.json" \ -exec cat {} + | jq -s . > $(CURDIR)/node/.tmp/package.json 我曾尝试使用“添加”,但似乎每次覆盖目标而不合并两者。 我的项目结构最初看起来像这样: \ projects \ webapp \ package.json \ service \ package.json \ admin \ package.json \ solutions \ killersolution Makefile \ node 在make prenode之后应该看起来像这样(见下文): \ projects \ webapp \ package.json \ service \ […]

如何避免Jenkins上不需要的“animation”控制台输出

有时我在Jenkins Job Output中find这样的日志行: [|] [/] [-] [\] [|] [/] [-] [\] [|] [/] [-] 我知道这些行来自“进步微调”( https://askubuntu.com/questions/623933/how-to-create-a-rotation-animation-using-shell-script ),但他们看起来很奇怪,文本日志。 它变得更糟,当一个工具使用一个“命令行进度条”,例如当拉动一个Docker Image或一个NPM包时 – 那么这个日志包含真正丑陋的(和不必要的)日志块。 … xtracting [=============> ] 15.2 MB/50.31 MB xtracting [==============> ] 15.2 MB/50.31 MB xtracting [===============> ] 15.2 MB/50.31 MB xtracting [================> ] 15.2 MB/50.31 MB xtracting [=================> ] 15.2 MB/50.31 MB —- 是否存在任何Jenkins插件(如Ansi-Color插件 ),它显示animation或将输出缩小到最终的“位置”? […]

Globs&NPM Minimatch:除特定目录外,recursion匹配所有文件和目录

鉴于目录结构: /Users/doge/very/amaze.js /usr/local/bin/wow /node_modules/ /css/ /css/somefile.css /lib/ /somelib/ /anotherlib/somedir/finallib.js /index.html /somefile.test /somelib/file.html /firstdir/seconddir/file.css /node_modules.txt 我将如何仅使用extglob排除node_modules目录? /!(node_modules) 以上内容匹配除了node_modules目录和文本文件(我们希望包含的文件)之外的所有内容。 它也不会遵循recursion匹配的目录。 /!(node_modules)/** 这个更接近,但是它也排除了根目录中的所有文件。 即使它包含在根级别的文件,我猜它会排除node_modules.txt文件。 PS这是用于使用grunt-ssh和minimatch节点模块进行文件匹配。

ssh与nodejs child_process,在服务器上找不到命令

我试图通过nodejs child_process运行一个简单的ssh命令。 当我通过nodejs代码运行命令,它失败,说我发送到服务器的命令没有find。 当我运行相同的命令只是复制和粘贴到我的terminal窗口,它运行良好。 这里是我想要做的命令行版本: ssh user@example.com 'ls -lai' 这里是使用child_process的相同ssh命令的nodejs版本 var cproc = require('child_process'); var exec = cproc.exec; var spawn = cproc.spawn; var command = "ssh"; var args = ["user@example.com", "'ls -lai'"]; var child = spawn(command, args); child.stdout.on('data', function(data) { console.log('stdout: ' + data); }); child.stderr.on('data', function(data) { console.log('stderr: ' + data); }); child.on('close', function(code) […]

Heroku:“bash:./start.sh:权限被拒绝”

我有一个Procfile应用程序设置为运行一个shell脚本,但Heroku不会运行该脚本,指出“权限被拒绝”。 Procfile: web: ./start.sh start.sh: #!/usr/bin/env bash clear; until node app.js; do echo "Server crashed with exit code $?. Respawning.." >&2 sleep 1 done Heroku日志: Starting process with command './start.sh' bash: ./start.sh: Permission denied State changed from starting to crashed Process exited with status 126

在npm在docker容器中安装时损坏的依赖关系

我正在构build并运行以下docker-compose文件 gulp: image: node:4.4 volumes: – ./admin:/node working_dir: /node command: bash -c "npm install && npm install -g gulp-cli && gulp dev" npm install命令进行得很好,但是然后gulp失败,出现以下错误: admin-gulp_1 | npm info ok admin-gulp_1 | /node/node_modules/gulp-eslint/node_modules/eslint/lib/util/source-code.js:88 admin-gulp_1 | SourceCode.splitLines = function(text) { admin-gulp_1 | ^ admin-gulp_1 | admin-gulp_1 | ReferenceError: SourceCode is not defined admin-gulp_1 | at Object.<anonymous> (/node/node_modules/gulp-eslint/node_modules/eslint/lib/util/source-code.js:88:1) […]

使用npm / nodejs命令行实用程序坚持用户首选项的最佳方法

我正在编写一个nodejs cli工具(旨在全局安装的NPM模块),它将需要存储一些用户提供的值。 在系统上存储这些值的最佳方法是什么? 例如,我应该在/etc/{my-utility-name}/conf.json下创build自己的configuration文件,并在install脚本中初始化此目录+文件 ( https://npmjs.org/doc/misc/npm-scripts.html )