进入 /usr/local/lib 删除所有 node 和 node_modules文件夹
进入 /usr/local/include 删除所有 node 和 node_modules 文件夹
检查 ~ 文件夹里面的"local" "lib" "include" 文件夹,然后删除里面的所有 "node" 和 "node_modules" 文件夹
使用以下命令查找
find ~/ -name node
find ~/ -name node_modules
使用如下命令删除文件
sudo rm /usr/local/bin/node
sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /home/[homedir]/.npm
sudo rm -rf /usr/local/include/node/
sudo rm -rf /home/[homedir]/.node-*
删除完毕后,重启一下终端,输入 node -v 查看是否OK
安装Weex Toolkit方法很简单,如下命令:$ npm install -g weex-toolkit
但是,提示了奇葩的错误,Google之不可解,遂只能干掉node,重新安装node
后来在搜索方法的过程中发现,或许是Mac系统升级导致了node的问题,才会让weex-toolkit无法成功安装
孰是孰非,暂不可定论
如果是通过brew安装的,则直接使用
brew uninstall node
若不是或者已经通过brew卸载了,则(删除之前,确认一下文件是否存在,并且是否为应该删除的文件)
然后通过
$ node
$ npm
检查一下,是否把应用卸载好了,ok了即可重新安装
重新使用brew安装node时,发生了一个更奇葩的事,brew坏了,只好重新安装brew,命令如下
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"
使用
brew install node
即可安装
安装途中,有可能提示,某某文件被占用,这时,可以把某某文件删掉(这是之前node卸载遗留的文件)
再者,可能提示,已经安装好了,但是没有link而已,这时可以看到link方法的提示
brew link node
但是,link时有可能说某某文件没有权限(我当时出现的是说tapset),sudo在brew上也是不可使用的了,这时需要
$ cd /usr/local/share/systemtap
$ chown -R tapset
再进行link就ok了
接下来,安装weex-toolkit就很顺利了
再接下来,还没完,gem和pod全挂了。。。
错误提示如下
dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib
Referenced from: /Users/derek/.rvm/rubies/ruby-2.2.1/bin/ruby
Reason: image not found
则Google之,发现可以通过重新安装ruby来解决,原文中的方法如下:
$ ruby -v
dyld: Library not loaded: /usr/local/lib/libgmp.10.dylib
Referenced from: /Users/psoshnin/.rvm/rubies/ruby-2.1.3/bin/ruby
Reason: image not found
$ brew update &&brew upgrade
$ rvm reinstall 2.1.3 --disable-binary # 2.1.3是ruby版本,见ruby -v的错误提示,每个人的可能不同,比如我是2.2.1
$ ruby -v
ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
尝试第一次,在install的时候,会出现
Error running '__rvm_rm_rf /Users/derek/.rvm/rubies/ruby-2.2.1',
showing last 15 lines of /Users/derek/.rvm/log/1492230416_ruby-2.2.1/remove.rubies.log
再次进行 brew update 后就正常了
至此,gem正常了,重新安装pod即可
附
brew:https://brew.sh/index_zh-cn.html
chown:http://www.cnblogs.com/peida/archive/2012/12/04/2800684.html
node.js中删除monogodb数组子文档使用$pull关键词。
1、Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。
2、Node.js可以在不新增额外线程的情况下,依然可以对任务进行并发处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并发操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
实现代码如下:
var filter = {_id: suggestID}var update = {$pull: {replies: {rid:opts.doc.rid}}}
return opts.dbs.csdb.collection("suggests").findOneAndUpdateAsync(filter, update, {upsert: false})