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. linux编程之GDB调试

    GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能: 1 在程序中设置断点,当程序运行到断点处暂停 2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显 ...

  2. BeanPostProcessor接口

    BeanPostProcessor接口及回调方法图 1.InstantiationAwareBeanPostProcessor:实例化Bean后置处理器(继承BeanPostProcessor) po ...

  3. SQL Serever学习7——数据表2

    修改数据表的属性 保存数据表的修改的时候,总会弹出阻止修改的警告. 解决方法2种: 1.可以使用T-sql语句强行修改 2.工具>选项>设计器>表设计器和数据库设计器>阻止保存 ...

  4. 阿里云CentOS7 64位安装jdk8和mysql5.6.43及远程连接mysql

    安装mysql 先查看系统是否安装有mysql rpm -qa | grep mysql 返回空值说明没有,有的话先删除 yum remove mysql 下载mysql的repo源 wget htt ...

  5. MapReduce详解和WordCount模拟

    最早接触大数据,常萦绕耳边的一个词「MapReduce」.它到底是什么,能做什么,原理又是什么?且听下文讲解. 是什么 MapReduce 即是一个编程模型,又是一个计算框架,它充分采用了分治的思想, ...

  6. [CTSC2008]祭祀(构造方案)

    前面的话 这道题显然就是最长反链 根据 \(Dilworth\) 定理:最小链覆盖数 = 最长反链长度 然后传递闭包跑匹配即可 \(luogu\)交了一下,\(WA\) 了 \(QAQ\) 本来各种 ...

  7. 转:在使用angularjs过程,ng-repeat中track by的作用

    转载:链接 <div ng-repeat="links in slides"> <div ng-repeat="link in links track ...

  8. Nodejs + express + ejs

    特性 <% %> 用于控制流 <%= %> 用于转义的输出 (会对数据字符进行转义) // 数据源 // app.js var tem={ title:"我是中间部分 ...

  9. UIResponder NSSet UITouch UIEvent

    UIResponder: UIView的超类,用来响应handle(触屏.motion.响应者等)事件. NSSet:一系列的类集合(类似数组). UITouch:一个点击类.负责:点击的view,w ...

  10. Binary Tree Inorder/Preorder Traversal 返回中序和前序/遍历二叉树的元素集合

    给定一个二叉树,以集合方式返回其中序/先序方式遍历的所有元素. 有两种方法,一种是经典的中序/先序方式的经典递归方式,另一种可以结合栈来实现非递归 Given a binary tree, retur ...