Tag: bash

NPM不会在Mac上安装任何软件包。 新的,干净的构build。 EACCES和其他错误

我从头开始重build我的Mavericks(Mac OS X Version 9.4)机器。 我是本机的pipe理员和唯一用户。 我通过git-2.0.1-intel-universal-snow-leopard.pkg ( http://git-scm.com/downloads )在默认的/usr/local/git/bin/git位置安装了/usr/local/git/bin/git 。 我通过他们的node-v0.10.30.pkg ( http://nodejs.org/download/ )在其默认的/usr/local/bin/node位置安装了/usr/local/bin/node 。 Node的安装程序包的最后一步包括一个注意事项,他们也在默认的/usr/local/bin/npm位置安装了NPM。 我的$PATH回声/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin /usr/local/bin )。 运行npm install -g bower导致: npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower' npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/usr/local/lib/node_modules/bower', npm ERR! fstream_type: 'Directory', npm ERR! […]

从文件夹外部执行Node.js文件中断文件path

我有一个名为“server.js”的Node.js文件。 在脚本中,我打开一些文件,使用如下所示: var certPem = fs.readFileSync('cert_and_key_dev.pem', encoding='ascii'); 使用bash shell,如果我cd到server.js所在的目录,然后运行命令: [mybashshell] $ node server.js 它工作,我没有错误。 服务器启动并运行。 现在,当我输出server.js文件所在的目录时,再次运行相同的shell命令来启动我的服务器。 它抱怨我的文件path到我的“cert_and_key_dev.pem”被打破。 我并不期待这样的事情发生。 我虽然正在执行的脚本文件中使用的path应该是相对于脚本文件,而不是执行我的bash shell命令的位置。 有任何想法吗?

我如何安装grunt-cli而不会出错?

受到克里斯·科伊尔(Chris Coyier)的启发,我决定咕噜一声。 但是我遇到了很大的问题。 首先,我安装了Node。 然后我添加一个package.json文件到我的项目根目录,包括: { "name": "example-project", "version": "0.1.0", "devDependencies": { "grunt": "~0.4.1" } } 然后我运行npm install 最后,我运行了npm install -g grunt-cli 其中回来了一大堆的错误: npm http GET https://registry.npmjs.org/grunt-cli npm http 304 https://registry.npmjs.org/grunt-cli npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/grunt-cli' npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/grunt-cli'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: […]

杀死一个bash脚本不会终止subprocess

我写了一个testing脚本运行另一个脚本来启动服务器来testing。 当testing完成后, SIGKILL消息被发送到服务器进程,但是当再次运行testing脚本时,服务器会抛出一个EADDRINUSE错误(我在一个node.js环境中),这意味着服务器试图挂载的端口目前正在使用中。 我们试图用SIGKILL杀死的进程仍在运行。 我不认为这是一个特定于节点的问题,而是我的末端教育缺乏教育如何工作。 这里有一些细节,这是我的脚本启动scripts/start-node.sh : #!/bin/bash node_modules/.bin/babel-node –stage 0 index.js 这是我的节点服务器称为index.js (我还没有创作任何process事件侦听器): Http.createServer(…).listen(PORT, () => console.log(`Server listening on ${PORT}`)) 启动脚本由节点child_process模块控制: var child = child_process.spawn('scripts/start-node.sh') // Later… child.kill('SIGKILL')

找不到NPM命令

我只是更新节点(通过nodejs.org包安装程序),现在npm将无法正常工作。 npm: command not found 任何想法发生了什么?

在gruntfile中执行shell脚本并将结果赋值给variables

我正在使用grunt来pipe理一套摩卡运行testing。 摩卡testing套件中需要的一件事情是设置某些环境variables,以便根据运行testing的开发人员的环境正确执行testing。 其中一个环境variables在每个开发人员的机器上都会有不同的值,所以我们执行一个bash脚本来为我们设置的环境variables返回这个值。 我正在使用grunt.util.spawn来运行脚本并将其结果分配给在gruntfile中定义的variables,然后使用grunt-env设置具有该值的环境variables。 下面是我的gruntfile(在coffeescript中)的例子: module.exports = (grunt) -> envvar = '' grunt.initConfig pkg: grunt.file.readJSON('package.json') env: dev: ENV_VAR: envvar simplemocha: options: timeout: 30000 reporter: 'spec' compilers: 'coffee:coffee-script' all: src: ['Tests/**/*.coffee'] grunt.registerTask 'init', -> done = this.async command = cmd: './bin/get_envvar.sh' grunt.util.spawn command, (error, result, code) -> envvar = result console.log 'envvar: ' + envvar done […]

打开来自node –inspect命令的标准输出

好吧,这里有一个有趣的,我们得到以下stdout: Debugger listening on port 9229. Warning: This is an experimental feature and could change at any time. To start debugging, open the following URL in Chrome: chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/a7a2a58d-dfd1-4cc6-875c-47da78adeb1b 当我们像这样运行一个命令: node –inspect –debug-brk bin/www.js 我正在考虑创build一个这样的bash脚本: #!/usr/bin/env bash NODE_DEBUG_OUTPUT=$(node –inspect –debug-brk bin/www.js) open -a "/Applications/Google Chrome.app"/ getUrl(${NODE_DEBUG_OUTPUT}) 但这里是我的bash技能结束的地方 – 我如何实现getUrl函数,以便我可以从输出中获取URL? 我非常确定,如果我们将bash传递给open函数,它将打开浏览器,在这种情况下,它必须是Google Chrome浏览器。

节点中的错误,stderr,stdout有什么区别

我正在使用node.js并想要处理错误消息。 erro,stderr,stdout有什么区别? 当脚本shell,我redirectstderr,并发现有用的错误信息,并解决了问题。 我不清楚计算机的输出是什么types的概念。 任何人都可以用全面的方式解释吗? 谢谢。

找不到Mongod命令(Windows7)(node.js)

我一直试图让我的MongoDB现在有一天。 问题似乎是没有findmongod命令。 我在我的node.js构build中安装了npm包mongoose。 当我尝试用mongod命令启动服务器时,git bash返回找不到命令。 我一直在googleing一个答案,它看起来像我需要使mongodb成为一个命令,我不知道如何做到这一点。 任何build议将有所帮助。 我已经将mongodb下载到我的文件中,它位于这里C:\ Program Files \ MongoDB \ Server \ 3.0(不知道是否重要)。 真的不知道从这里做什么。

如何通过Mac上的terminal更新node.js和CoffeeScript版本?

我的系统node.js版本是v0.6.1,但是当前的稳定版本是v0.6.7。 我的系统CoffeeScript版本是v1.1.2,但是当前的稳定版本是v1.2.0 我怎么能通过mac上的terminal(使用mac)更新node.js和CoffeeScript? 我对命令行非常好,但是我需要一些帮助来开始更新这些应用程序。 非常感谢您的帮助。