sublime2 nodejs 执行编译无反应
这个问题困扰了我得一周了,好不容易解决了,
一、问题描述:
安装网上的一些教程在sublime text 2 里面安装Nodejs 的编译环境,但是安装完之后执行编译没有任何输出信息,编译没有反应,只看到状态栏Building结束之后就在没有任何信息输出了 ,一般的至少应该输出一句:[Finished in 0.9s]
此时打开控制台会看到报错:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 69-70: ordinal not in range(128)
二、解决方法:
这时候查到了https://blog.csdn.net/qq_26010491/article/details/50503364这个方法,
安装目录Packages\Default\exec.py文件下大约在40多行有个:
for k, v in proc_env.iteritems():
proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
方法有二:
1、注释掉;
2、修改为异常处理:
for k, v in proc_env.iteritems(): try: proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) except UnicodeDecodeError: print "Encoding error..." print "VARIABLE: ", k, " : ", v
可以先按照这种方法处理,若能正常编译就不用往下看了,若不正常则继续:
在该文件引用部分后添加代码:
import sys reload(sys) sys.setdefaultencoding( "utf-8")
我这边就是做完这一步,编译后才输出期盼的输出:
hello world
你好
[Finished in 0.8s]
三、写在后面
然后回去又解开40多行的注释,注释上面添加的这三行代码也能正常执行,具体原因就不知道了,不知道是不是修改过程中误删除了什么,反正能正常用了,
诸业皆是自作自受,休咎祸福,尽从心生。