https://github.com/cambecc/air

1、按照github中给出的步骤,执行到npm install,项目中的package.json包含了要安装的包的版本,但是安装的时候,pg和iconv模块提示gyp rebuild错误,一开始怀疑版本的问题(卸载nodejshttp://www.cnblogs.com/snandy/p/4418615.html,然后下载你所需的版本),但是把版本调整到package.json提示的版本还是不行,于是重新clone一份,把package.json文件去掉,一个一个的npm install,pg和iconv安装通过(具体问题不清楚,只能用这种笨办法),出现了第二个问题。

2、express 4中的模块相较于express 3 都单独出来了,需要单独安装,express3和4两者的差别挺大的。此时,需要制定安装express的版本,npm install express@3.8.4,此条命令即可。

3、在terminal中输入node server.js 8080 postgres://postgres:post@localhost:5432/air www.kankyo.metro.tokyo.jp,提示拒绝连接的问题(

2015-11-08T06:53:37.516Z - error: Error: connect ECONNREFUSED

at exports._errnoException (util.js:746:11)

at TCPConnectWrap.afterConnect as oncomplete

Potentially unhandled rejection [2] Error: connect ECONNREFUSED

at exports._errnoException (util.js:746:11)

at TCPConnectWrap.afterConnect as oncomplete

),不知道问题出在了哪?于是回到webstorm中,把这条命令分解(process是接受参数的)到文件中直接赋值,输出了两个get(

2015-11-08T06:53:37.493Z - info: get: www.taiki.kankyo.metro.tokyo.jp/cgi-bin/bunpu1/p160.cgi?no2===1==2====2=

2015-11-08T06:53:37.499Z - info: get: www.taiki.kankyo.metro.tokyo.jp/cgi-bin/bunpu1/p160.cgi?no2===2==2====2=

),然后命令就死了,于是设置断点调试和log.info()输出,最后确定了拒绝连接是发生在向网站请求数据的时候,而不是往postgres中写入数据的时候,因为我们已经可以在数据库中建立表,写入数据应该不成问题(其中,也设置了postgres数据库权限,但不起作用)。

再去搜索nodejs中http.get方法的问题,无意之间看到get方法中的url需要加http头的(http://www.cnblogs.com/vimsk/archive/2012/09/22/2697806.html),而自己没有加(期间,自己曾把www.taiki.kankyo.metro.tokyo.jp/cgi-bin/bunpu1/p160.cgi?no2===1==2====2=放到浏览器地址栏中访问,出现了内容,但浏览器是默认省略http头的,自己忽略了这个问题)。于是把http加上(node server.js 8080 postgres://postgres:post@localhost:5432/air http://www.taiki.kankyo.metro.tokyo.jp/cgi-bin/bunpu1),正常运行。

4、思考:遇到问题总是能够解决的,具体思路主要有三个:

  • 冷静的看你输入的参数和他人执行成功时输入的参数的区别,这个有时候很坑的。
  • 看提示的错误是什么。
  • 经验、想象力和猜想告诉我们出现在哪,
  • 设置断点调试和alert、console.log输出位置,这样一步一步往下走看具体错到哪了?

github air项目中遇到的几个问题及解决(nodejs居多)的更多相关文章

  1. 如何在 GitHub 的项目中创建一个分支呢?

    如何在 GitHub 的项目中创建一个分支呢? 其实很简单啦,直接点击 Branch,然后在弹出的文本框中添加自己的 Branch Name 然后点击蓝色的Create branch就可以了,这样一来 ...

  2. 关于CUDA C 项目中“ error C2059: 语法错误:“<” ”问题的解决方法

    该问题的关键在于理解CUDA项目中C\C++文件需要由c++编译器进行编译,而CUDA C的源文件需要由CUDA的编译器nvcc.exe进行编译. 发生该语法错误的原因是cu文件被C++编译器所编译, ...

  3. github克隆项目中的子模块submodule时遇到的问题

    GitHub真是个开源大宝库,不只能学习代码,还能学习git的使用! 最近在研究Off-the-Record-iOS项目(https://github.com/chrisballinger/Off-t ...

  4. ASP.NET CORE MVC 2.0 项目中引用第三方DLL报错的解决办法 - InvalidOperationException: Cannot find compilation library location for package

    目前在学习ASP.NET CORE MVC中,今天看到微软在ASP.NET CORE MVC 2.0中又恢复了允许开发人员引用第三方DLL程序集的功能,感到甚是高兴!于是我急忙写了个Demo想试试,我 ...

  5. 删除GitHub上项目中的某个文件

    原文地址 https://www.jianshu.com/p/242412b43ca5 1.首先在本地中更新有该项目的最新包 即确保本地项目和git上的项目内容保持同步(git pull拉取项目代码) ...

  6. (iOS)项目总结-项目中遇到的各种的问题和解决方法

    前言: 一到公司报道那时,便着手独立的去完成了一个项目,其中的辛酸泪也是不足为外人道也.这次算是一个新型的app,仍然是独立开发,但心境和想法却是完全的不同.下面说一次以前做开发时常常忽略的知识,也算 ...

  7. 项目中gulp使用发生的错误及解决

    在项目开发中,执行gulp css来生成合成的css文件时,报如下错误 Error: Cannot find module 'browserslist' 解决方法: npm install brows ...

  8. 关于IDEA中web项目中web.xml配置文件标红的解决办法

    原文链接 https://blog.csdn.net/qq_33451695/article/details/86684127 解决方法前提:web.xml没有实际错误,但依然被web.xml标红 出 ...

  9. github for window 中 git shell 设置代理方法和解决ssl证书错误的问题

    体验了一下传说中的 github for windows(操作git有很多的方法,我还没有学会,所以找了个简单的方法),听说用起来还不错,毕竟也开始接触了github.下载地址是 http://win ...

随机推荐

  1. WebStorm配置Node.js IDE

    开始刚学的时候一直用命令行来运行Node.js,网上找了些配置Node.js IDE配置的贴子,说WebStorm配置IDE最简单,自己就试了下. 1.首先安装Node这步就不说了 2.下载WebSt ...

  2. [转]Getting started with ASP.NET Web API OData in 3 simple steps

    本文转自:https://blogs.msdn.microsoft.com/webdev/2013/01/29/getting-started-with-asp-net-web-api-odata-i ...

  3. WCF-绑定模型(一)

    一.利用BasicHttpBinding实现消息通信 WCF基础架构由服务模型层和信道层构成,而绑定是两层直接的纽带.绑定创建了处理消息的信道栈,实现消息的传输和处理.在绑定模型中涉及很多通信对象,信 ...

  4. Web开发 学习积累20161018

    项目 一.项目做的是什么 业务逻辑 -> 增删改查 二.什么是面向对象编程,它有哪些好处 oop:object oriented programming <>核心思想:使用人类思考问 ...

  5. 01-Web客户端与服务器详解

    1.CS与BS 软件使用方式上两种划分 C/S架构 Client/ServerPC客户端.服务器架构 特点: 在服务器当中就主要是一个数据库,把所有的业务逻辑以及界面都交给客户端完成 优点: 较为安全 ...

  6. uestc 1072 a ^ b

    a ^ b Time Limit: 1000 ms Memory Limit: 65535 kB Solved: 334 Tried: 2153 Description 求a的b次方后四位.   In ...

  7. process对象

    一.目录 process对象是Node的一个全局对象,提供当前Node进程的信息.它可以在脚本的任意位置使用,不必通过require命令加载.该对象部署了EventEmitter接口. 二.属性 pr ...

  8. Activiti 数据库表自动生成策略

    Activiti 引擎启动时默认会检测数据库版本与程序版本是否相符,不相符就会抛出异常停止引擎的初始化. 这一策略可以通过引擎的初始化配置参数databaseSchemaUpdate来控制, 如下图的 ...

  9. How to fix Mysql table crashes

    Whenever you enconter this: Please use mysql_upgrade to fix this error. or using  mysql_upgrade -u r ...

  10. Android SD卡上文件

    1. 得到存储设备的目录:/SDCARD(一般情况下) SDPATH=Environment.getExternalStorageDirectory()+"/"; 2. 判断SD卡 ...