今天抽空将我的静态服务 ks-server 之前留下的 bug(在node低版本情况下报错)维护了一下。
当我重新 npm link
时,如下错误:
npm WARN ks-server@1.0.2 No repository field.
npm ERR! Darwin 17.5.0
npm ERR! argv "/Users/zhuqiang/.nvm/versions/node/v6.4.0/bin/node" "/Users/zhuqiang/.nvm/versions/node/v6.4.0/bin/npm" "link"
npm ERR! node v6.4.0
npm ERR! npm v3.10.3
npm ERR! path /Users/zhuqiang/.nvm/versions/node/v6.4.0/bin/ks-server
npm ERR! code EEXIST
npm ERR! Refusing to delete /Users/zhuqiang/.nvm/versions/node/v6.4.0/bin/ks-server: ../lib/node_modules/ks-server/bin/www.js symlink target is not controlled by npm /Users/zhuqiang/github/ks-server
npm ERR! File exists: /Users/zhuqiang/.nvm/versions/node/v6.4.0/bin/ks-server
npm ERR! Move it away, and try again.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/zhuqiang/github/ks-server/npm-debug.log
我注意到,bug 日志中有:
npm ERR! File exists: /Users/zhuqiang/.nvm/versions/node/v6.4.0/bin/ks-server
npm ERR! Move it away, and try again.
突然意识到, 阔能是之前已经生成了一个 ks-server 这样一个 link,当我修改 package.json 中的 bin 时,使其与当前的 ks-server 命令对不上。而报错,且日志中的 Move it away, and try again
也有次意思。
于是,(解决方法):
cd /Users/zhuqiang/.nvm/versions/node/v6.4.0/bin
rm -rf ks-server
然后回到项目目录,重新 npm link
就 bingo 了。
前路漫漫,当克己,当慎独。