开源改变世界

树莓派安装文档 #65

推推 grbl 3年前 (2023-02-02) 244次浏览
关闭
AustinSaintAubin 打开了这个问题 2016 年 9 月 7 日 · 14条评论
关闭

树莓派安装文档#65

AustinSaintAubin 打开了这个问题 2016 年 9 月 7 日 · 14条评论

注释

树莓派安装文档 #65
贡献者
奥斯汀圣奥宾 评论了 2016 年 9 月 7 日  

请更新文档以简单直接地安装最新版本的 RASPBIAN。预构建的图像也不错。

看起来有些安装问题已在Raspberry Pi #19中解决,但文档未更新以包含 raspberry pi 安装指南。

树莓派安装文档 #65
合作者

推荐使用 Node Version Manager (NVM)的 Node.js 安装 ( https://github.com/cheton/cnc/wiki/Installation#nodejs-installation ) 方法,它可以与 Raspbian Jessie 一起使用。我可以知道您是否遇到任何安装问题?

树莓派安装文档 #65
贡献者作者
奥斯汀圣奥宾 评论了 2016 年 9 月 8 日  

我遇到了问题…
安装正在运行。但是保持节点服务器运行是当前的问题。

安装命令

# Updates & Upgrades
sudo apt-get update
sudo apt-get upgrade

# Install GIT ( already install on Raspbian Jessie )
sudo apt-get install git

# Install GCC & G++ ( already install on Raspbian Jessie )
sudo apt-get install gcc g++

# Install Node.js
git clone https://github.com/creationix/nvm.git ~/.nvm
cd ~/.nvm
git checkout `git describe --abbrev=0 --tags`
cd ..
. ~/.nvm/nvm.sh
nvm install 4

# Update Profile
cat >> ~/.profile <<EOF

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
EOF

# Run Profile to update current session
. ~/.profile

# Setup Node.js v3 support
#If you're using Node.js v4 or earlier versions, it's recommended that you use npm v3 to install packages.
# To upgrade, run:
npm install npm@latest -g

# Update Prefix
echo "prefix=~/.npm" >> ~/.npmrc
cat ~/.npmrc
#Output: prefix=~/.npm

# Install CNC.JS
npm install -g cncjs

安装和使用日志:

pi@raspberrypi:~ $ sudo apt-get update
Hit http://archive.raspberrypi.org jessie InRelease
Hit http://mirrordirector.raspbian.org jessie InRelease
Hit http://archive.raspberrypi.org jessie/main armhf Packages
Hit http://archive.raspberrypi.org jessie/ui armhf Packages
Hit http://mirrordirector.raspbian.org jessie/main armhf Packages
Hit http://mirrordirector.raspbian.org jessie/contrib armhf Packages
Hit http://mirrordirector.raspbian.org jessie/non-free armhf Packages
Hit http://mirrordirector.raspbian.org jessie/rpi armhf Packages
Ign http://archive.raspberrypi.org jessie/main Translation-en_GB
Ign http://archive.raspberrypi.org jessie/main Translation-en
Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB
Ign http://archive.raspberrypi.org jessie/ui Translation-en
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en
Ign http://mirrordirector.raspbian.org jessie/main Translation-en_GB
Ign http://mirrordirector.raspbian.org jessie/main Translation-en
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en
Reading package lists... Done
pi@raspberrypi:~ $ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi:~ $ sudo apt-get install gcc g++
Reading package lists... Done
Building dependency tree
Reading state information... Done
g++ is already the newest version.
g++ set to manually installed.
gcc is already the newest version.
gcc set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi:~ $ sudo apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version.
git set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi:~ $ git clone https://github.com/creationix/nvm.git ~/.nvm
Cloning into '/home/pi/.nvm'...
remote: Counting objects: 5375, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 5375 (delta 1), reused 0 (delta 0), pack-reused 5368
Receiving objects: 100% (5375/5375), 1.50 MiB | 649.00 KiB/s, done.
Resolving deltas: 100% (3244/3244), done.
Checking connectivity... done.
pi@raspberrypi:~ $ cd ~/.nvm
pi@raspberrypi:~/.nvm $ git checkout `git describe --abbrev=0 --tags`
Note: checking out 'v0.31.7'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 25fa40e... v0.31.7
pi@raspberrypi:~/.nvm $ cd ..
pi@raspberrypi:~ $ . ~/.nvm/nvm.sh
pi@raspberrypi:~ $ nvm install 4
Downloading https://nodejs.org/dist/v4.5.0/node-v4.5.0-linux-armv6l.tar.xz...
######################################################################## 100.0%
Now using node v4.5.0 (npm v2.15.9)
Creating default alias: default -> 4 (-> v4.5.0)
pi@raspberrypi:~ $ cat >> ~/.profile <<EOF
>
> export NVM_DIR="$HOME/.nvm"
> [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
> EOF
pi@raspberrypi:~ $ . ~/.profile
pi@raspberrypi:~ $ # To upgrade, run:
pi@raspberrypi:~ $ npm install npm@latest -g

/home/pi/.nvm/versions/node/v4.5.0/bin/npm -> /home/pi/.nvm/versions/node/v4.5.0/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.6 /home/pi/.nvm/versions/node/v4.5.0/lib/node_modules/npm
pi@raspberrypi:~ $
pi@raspberrypi:~ $ echo "prefix=~/.npm" >> ~/.npmrc
pi@raspberrypi:~ $ cat ~/.npmrc
prefix=~/.npm
pi@raspberrypi:~ $ npm install -g cncjs
/home/pi/.npm/bin/cnc -> /home/pi/.npm/lib/node_modules/cncjs/bin/cnc

> serialport@4.0.1 install /home/pi/.npm/lib/node_modules/cncjs/node_modules/serialport
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download: https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.1/serialport-v4.0.1-node-v46-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.1 and node@4.5.0 (node-v46 ABI) (falling back to source compile with node-gyp)
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
make: Entering directory '/home/pi/.npm/lib/node_modules/cncjs/node_modules/serialport/build'
  CXX(target) Release/obj.target/serialport/src/serialport.o
  CXX(target) Release/obj.target/serialport/src/serialport_unix.o
  CXX(target) Release/obj.target/serialport/src/serialport_poller.o
  SOLINK_MODULE(target) Release/obj.target/serialport.node
  COPY Release/serialport.node
make: Leaving directory '/home/pi/.npm/lib/node_modules/cncjs/node_modules/serialport/build'
/home/pi/.npm/lib
└─┬ cncjs@1.6.1
  ├── async@2.0.1
  ├─┬ babel-runtime@6.11.6
  │ ├── core-js@2.4.1
  │ └── regenerator-runtime@0.9.5
  ├─┬ body-parser@1.15.2
  │ ├── bytes@2.4.0
  │ ├── content-type@1.0.2
  │ ├── debug@2.2.0
  │ ├── depd@1.1.0
  │ ├─┬ http-errors@1.5.0
  │ │ ├── inherits@2.0.1
  │ │ ├── setprototypeof@1.0.1
  │ │ └── statuses@1.3.0
  │ ├── iconv-lite@0.4.13
  │ ├─┬ on-finished@2.3.0
  │ │ └── ee-first@1.1.1
  │ ├── qs@6.2.0
  │ ├─┬ raw-body@2.1.7
  │ │ └── unpipe@1.0.0
  │ └─┬ type-is@1.6.13
  │   ├── media-typer@0.3.0
  │   └── mime-types@2.1.11
  ├── bootstrap@3.3.7
  ├─┬ chalk@1.1.3
  │ ├── ansi-styles@2.2.1
  │ ├── escape-string-regexp@1.0.5
  │ ├─┬ has-ansi@2.0.0
  │ │ └── ansi-regex@2.0.0
  │ ├── strip-ansi@3.0.1
  │ └── supports-color@2.0.0
  ├── classnames@2.2.5
  ├── colornames@1.1.1
  ├─┬ commander@2.9.0
  │ └── graceful-readlink@1.0.1
  ├─┬ compression@1.6.2
  │ ├─┬ accepts@1.3.3
  │ │ └── negotiator@0.6.1
  │ ├── bytes@2.3.0
  │ ├─┬ compressible@2.0.8
  │ │ └── mime-db@1.23.0
  │ ├── on-headers@1.0.1
  │ └── vary@1.1.0
  ├─┬ connect-multiparty@2.0.0
  │ ├─┬ multiparty@4.1.2
  │ │ └─┬ fd-slicer@1.0.1
  │ │   └── pend@1.2.0
  │ └── qs@4.0.0
  ├── connect-restreamer@1.0.3
  ├─┬ consolidate@0.14.1
  │ └── bluebird@3.4.6
  ├─┬ cookie-parser@1.4.3
  │ ├── cookie@0.3.1
  │ └── cookie-signature@1.0.6
  ├─┬ del@2.2.2
  │ ├─┬ globby@5.0.0
  │ │ ├─┬ array-union@1.0.2
  │ │ │ └── array-uniq@1.0.3
  │ │ ├── arrify@1.0.1
  │ │ └─┬ glob@7.0.6
  │ │   ├── fs.realpath@1.0.0
  │ │   ├─┬ inflight@1.0.5
  │ │   │ └── wrappy@1.0.2
  │ │   ├─┬ minimatch@3.0.3
  │ │   │ └─┬ brace-expansion@1.1.6
  │ │   │   ├── balanced-match@0.4.2
  │ │   │   └── concat-map@0.0.1
  │ │   └── once@1.4.0
  │ ├── is-path-cwd@1.0.0
  │ ├─┬ is-path-in-cwd@1.0.0
  │ │ └─┬ is-path-inside@1.0.0
  │ │   └── path-is-inside@1.0.1
  │ ├── object-assign@4.1.0
  │ ├── pify@2.3.0
  │ ├─┬ pinkie-promise@2.0.1
  │ │ └── pinkie@2.0.4
  │ └── rimraf@2.5.4
  ├── delay@1.3.1
  ├─┬ errorhandler@1.4.3
  │ └── escape-html@1.0.3
  ├─┬ express@4.14.0
  │ ├── array-flatten@1.1.1
  │ ├── content-disposition@0.5.1
  │ ├── encodeurl@1.0.1
  │ ├── etag@1.7.0
  │ ├── finalhandler@0.5.0
  │ ├── fresh@0.3.0
  │ ├── merge-descriptors@1.0.1
  │ ├── methods@1.1.2
  │ ├── parseurl@1.3.1
  │ ├── path-to-regexp@0.1.7
  │ ├─┬ proxy-addr@1.1.2
  │ │ ├── forwarded@0.1.0
  │ │ └── ipaddr.js@1.1.1
  │ ├── range-parser@1.2.0
  │ ├─┬ send@0.14.1
  │ │ └── destroy@1.0.4
  │ └── utils-merge@1.0.0
  ├─┬ express-session@1.14.1
  │ ├── crc@3.4.0
  │ └─┬ uid-safe@2.1.2
  │   ├── base64-url@1.3.2
  │   └── random-bytes@1.0.0
  ├── font-awesome@4.6.3
  ├─┬ fs-extra@0.30.0
  │ ├── graceful-fs@4.1.6
  │ ├── jsonfile@2.3.1
  │ ├── klaw@1.3.0
  │ └── path-is-absolute@1.0.0
  ├── gcode-interpreter@0.9.3
  ├── gcode-parser@0.8.2
  ├── gcode-toolpath@0.6.2
  ├─┬ hogan.js@3.0.2
  │ ├── mkdirp@0.3.0
  │ └─┬ nopt@1.0.10
  │   └── abbrev@1.0.9
  ├── i18next@3.4.1
  ├── i18next-browser-languagedetector@0.3.0
  ├─┬ i18next-express-middleware@1.0.1
  │ └─┬ cookies@0.6.1
  │   └── keygrip@1.0.1
  ├─┬ i18next-node-fs-backend@0.1.2
  │ ├─┬ js-yaml@3.5.4
  │ │ ├─┬ argparse@1.0.7
  │ │ │ └── sprintf-js@1.0.3
  │ │ └── esprima@2.7.3
  │ └── json5@0.5.0
  ├── i18next-xhr-backend@0.6.0
  ├── is-electron@2.0.0
  ├── jsuri@1.3.1
  ├── lodash@4.13.1
  ├── method-override@2.3.6
  ├── moment@2.14.1
  ├─┬ morgan@1.7.0
  │ └── basic-auth@1.0.4
  ├── mousetrap@1.6.0
  ├── namespace-constants@0.1.1
  ├── node-uuid@1.4.7
  ├── normalize.css@4.2.0
  ├── pubsub-js@1.5.3
  ├─┬ range_check@1.2.0
  │ └── ipaddr.js@1.0.3
  ├─┬ rc-slider@3.7.4
  │ ├─┬ rc-tooltip@3.4.2
  │ │ └─┬ rc-trigger@1.7.2
  │ │   ├─┬ rc-align@2.3.2
  │ │   │ └── dom-align@1.5.2
  │ │   └─┬ rc-animate@2.3.1
  │ │     └─┬ css-animation@1.3.0
  │ │       └─┬ component-classes@1.2.6
  │ │         └── component-indexof@0.0.3
  │ ├─┬ rc-util@3.4.1
  │ │ ├── add-dom-event-listener@1.0.1
  │ │ └── shallowequal@0.2.2
  │ └── warning@3.0.0
  ├── rc-switch@1.4.2
  ├─┬ react@15.2.1
  │ ├─┬ fbjs@0.8.4
  │ │ ├── core-js@1.2.7
  │ │ ├── immutable@3.8.1
  │ │ ├─┬ isomorphic-fetch@2.2.1
  │ │ │ ├─┬ node-fetch@1.6.0
  │ │ │ │ ├── encoding@0.1.12
  │ │ │ │ └── is-stream@1.1.0
  │ │ │ └── whatwg-fetch@1.0.0
  │ │ ├─┬ promise@7.1.1
  │ │ │ └── asap@2.0.4
  │ │ └── ua-parser-js@0.7.10
  │ └─┬ loose-envify@1.2.0
  │   └── js-tokens@1.0.3
  ├── react-addons-shallow-compare@15.2.1
  ├── react-addons-update@15.2.1
  ├─┬ react-bootstrap@0.29.5
  │ ├─┬ babel-runtime@5.8.38
  │ │ └── core-js@1.2.7
  │ ├── dom-helpers@2.4.0
  │ ├── invariant@2.2.1
  │ ├── keycode@2.1.4
  │ ├── lodash-compat@3.10.2
  │ ├─┬ react-overlays@0.6.6
  │ │ └── react-prop-types@0.4.0
  │ ├─┬ react-prop-types@0.3.2
  │ │ └── warning@2.1.0
  │ ├── uncontrollable@3.3.1
  │ └── warning@2.1.0
  ├─┬ react-css-modules@3.7.10
  │ ├── hoist-non-react-statics@1.2.0
  │ └── object-unfreeze@1.1.0
  ├── react-dom@15.2.1
  ├─┬ react-dropzone@3.5.3
  │ └── attr-accept@1.0.3
  ├─┬ react-infinite@0.9.2
  │ ├── lodash.isarray@3.0.4
  │ ├── lodash.isfinite@3.2.0
  │ └── object-assign@4.0.1
  ├─┬ react-modal@1.4.0
  │ ├── element-class@0.2.2
  │ ├── exenv@1.2.0
  │ └─┬ lodash.assign@3.2.0
  │   ├─┬ lodash._baseassign@3.2.0
  │   │ └── lodash._basecopy@3.0.1
  │   ├─┬ lodash._createassigner@3.1.1
  │   │ ├── lodash._bindcallback@3.0.1
  │   │ ├── lodash._isiterateecall@3.0.9
  │   │ └── lodash.restparam@3.6.1
  │   └─┬ lodash.keys@3.1.2
  │     ├── lodash._getnative@3.9.1
  │     └── lodash.isarguments@3.1.0
  ├── react-redux@4.4.5
  ├─┬ react-router@2.5.2
  │ ├─┬ history@2.1.2
  │ │ ├── deep-equal@1.0.1
  │ │ ├─┬ query-string@3.0.3
  │ │ │ └── strict-uri-encode@1.1.0
  │ │ └── warning@2.1.0
  │ └── warning@2.1.0
  ├── react-router-redux@4.0.5
  ├─┬ react-select@1.0.0-rc.1
  │ └── react-input-autosize@1.1.0
  ├── react-sortablejs@1.0.1
  ├── react-validation@2.0.6
  ├─┬ react-virtualized@7.12.3
  │ └─┬ raf@3.3.0
  │   └── performance-now@0.2.0
  ├─┬ redux@3.5.2
  │ ├── lodash-es@4.15.0
  │ └── symbol-observable@0.2.4
  ├─┬ serialport@4.0.1
  │ ├── bindings@1.2.1
  │ ├── es6-promise@3.2.1
  │ ├── nan@2.4.0
  │ ├─┬ node-pre-gyp@0.6.29
  │ │ ├─┬ mkdirp@0.5.1
  │ │ │ └── minimist@0.0.8
  │ │ ├─┬ nopt@3.0.6
  │ │ │ └── abbrev@1.0.9
  │ │ ├─┬ npmlog@3.1.2
  │ │ │ ├─┬ are-we-there-yet@1.1.2
  │ │ │ │ ├── delegates@1.0.0
  │ │ │ │ └─┬ readable-stream@2.1.4
  │ │ │ │   ├── buffer-shims@1.0.0
  │ │ │ │   ├── core-util-is@1.0.2
  │ │ │ │   ├── inherits@2.0.1
  │ │ │ │   ├── isarray@1.0.0
  │ │ │ │   ├── process-nextick-args@1.0.7
  │ │ │ │   ├── string_decoder@0.10.31
  │ │ │ │   └── util-deprecate@1.0.2
  │ │ │ ├── console-control-strings@1.1.0
  │ │ │ ├─┬ gauge@2.6.0
  │ │ │ │ ├── aproba@1.0.4
  │ │ │ │ ├── has-color@0.1.7
  │ │ │ │ ├── has-unicode@2.0.1
  │ │ │ │ ├── object-assign@4.1.0
  │ │ │ │ ├── signal-exit@3.0.0
  │ │ │ │ ├─┬ string-width@1.0.1
  │ │ │ │ │ ├─┬ code-point-at@1.0.0
  │ │ │ │ │ │ └── number-is-nan@1.0.0
  │ │ │ │ │ └─┬ is-fullwidth-code-point@1.0.0
  │ │ │ │ │   └── number-is-nan@1.0.0
  │ │ │ │ ├─┬ strip-ansi@3.0.1
  │ │ │ │ │ └── ansi-regex@2.0.0
  │ │ │ │ └── wide-align@1.1.0
  │ │ │ └── set-blocking@2.0.0
  │ │ ├─┬ rc@1.1.6
  │ │ │ ├── deep-extend@0.4.1
  │ │ │ ├── ini@1.3.4
  │ │ │ ├── minimist@1.2.0
  │ │ │ └── strip-json-comments@1.0.4
  │ │ ├─┬ request@2.73.0
  │ │ │ ├── aws-sign2@0.6.0
  │ │ │ ├── aws4@1.4.1
  │ │ │ ├─┬ bl@1.1.2
  │ │ │ │ └─┬ readable-stream@2.0.6
  │ │ │ │   ├── core-util-is@1.0.2
  │ │ │ │   ├── inherits@2.0.1
  │ │ │ │   ├── isarray@1.0.0
  │ │ │ │   ├── process-nextick-args@1.0.7
  │ │ │ │   ├── string_decoder@0.10.31
  │ │ │ │   └── util-deprecate@1.0.2
  │ │ │ ├── caseless@0.11.0
  │ │ │ ├─┬ combined-stream@1.0.5
  │ │ │ │ └── delayed-stream@1.0.0
  │ │ │ ├── extend@3.0.0
  │ │ │ ├── forever-agent@0.6.1
  │ │ │ ├─┬ form-data@1.0.0-rc4
  │ │ │ │ └── async@1.5.2
  │ │ │ ├─┬ har-validator@2.0.6
  │ │ │ │ ├─┬ chalk@1.1.3
  │ │ │ │ │ ├── ansi-styles@2.2.1
  │ │ │ │ │ ├── escape-string-regexp@1.0.5
  │ │ │ │ │ ├─┬ has-ansi@2.0.0
  │ │ │ │ │ │ └── ansi-regex@2.0.0
  │ │ │ │ │ ├─┬ strip-ansi@3.0.1
  │ │ │ │ │ │ └── ansi-regex@2.0.0
  │ │ │ │ │ └── supports-color@2.0.0
  │ │ │ │ ├─┬ is-my-json-valid@2.13.1
  │ │ │ │ │ ├── generate-function@2.0.0
  │ │ │ │ │ ├─┬ generate-object-property@1.2.0
  │ │ │ │ │ │ └── is-property@1.0.2
  │ │ │ │ │ ├── jsonpointer@2.0.0
  │ │ │ │ │ └── xtend@4.0.1
  │ │ │ │ └─┬ pinkie-promise@2.0.1
  │ │ │ │   └── pinkie@2.0.4
  │ │ │ ├─┬ hawk@3.1.3
  │ │ │ │ ├── boom@2.10.1
  │ │ │ │ ├── cryptiles@2.0.5
  │ │ │ │ ├── hoek@2.16.3
  │ │ │ │ └── sntp@1.0.9
  │ │ │ ├─┬ http-signature@1.1.1
  │ │ │ │ ├── assert-plus@0.2.0
  │ │ │ │ ├─┬ jsprim@1.3.0
  │ │ │ │ │ ├── extsprintf@1.0.2
  │ │ │ │ │ ├── json-schema@0.2.2
  │ │ │ │ │ └── verror@1.3.6
  │ │ │ │ └─┬ sshpk@1.8.3
  │ │ │ │   ├── asn1@0.2.3
  │ │ │ │   ├── assert-plus@1.0.0
  │ │ │ │   ├── dashdash@1.14.0
  │ │ │ │   ├── ecc-jsbn@0.1.1
  │ │ │ │   ├── getpass@0.1.6
  │ │ │ │   ├── jodid25519@1.0.2
  │ │ │ │   ├── jsbn@0.1.0
  │ │ │ │   └── tweetnacl@0.13.3
  │ │ │ ├── is-typedarray@1.0.0
  │ │ │ ├── isstream@0.1.2
  │ │ │ ├── json-stringify-safe@5.0.1
  │ │ │ ├─┬ mime-types@2.1.11
  │ │ │ │ └── mime-db@1.23.0
  │ │ │ ├── node-uuid@1.4.7
  │ │ │ ├── oauth-sign@0.8.2
  │ │ │ ├── qs@6.2.0
  │ │ │ ├── stringstream@0.0.5
  │ │ │ ├── tough-cookie@2.2.2
  │ │ │ └── tunnel-agent@0.4.3
  │ │ ├─┬ rimraf@2.5.3
  │ │ │ └─┬ glob@7.0.5
  │ │ │   ├── fs.realpath@1.0.0
  │ │ │   ├─┬ inflight@1.0.5
  │ │ │   │ └── wrappy@1.0.2
  │ │ │   ├── inherits@2.0.1
  │ │ │   ├─┬ minimatch@3.0.2
  │ │ │   │ └─┬ brace-expansion@1.1.5
  │ │ │   │   ├── balanced-match@0.4.1
  │ │ │   │   └── concat-map@0.0.1
  │ │ │   ├─┬ once@1.3.3
  │ │ │   │ └── wrappy@1.0.2
  │ │ │   └── path-is-absolute@1.0.0
  │ │ ├── semver@5.2.0
  │ │ ├─┬ tar@2.2.1
  │ │ │ ├── block-stream@0.0.9
  │ │ │ ├─┬ fstream@1.0.10
  │ │ │ │ └── graceful-fs@4.1.4
  │ │ │ └── inherits@2.0.1
  │ │ └─┬ tar-pack@3.1.4
  │ │   ├─┬ fstream@1.0.10
  │ │   │ ├── graceful-fs@4.1.4
  │ │   │ └── inherits@2.0.1
  │ │   ├─┬ fstream-ignore@1.0.5
  │ │   │ ├── inherits@2.0.1
  │ │   │ └─┬ minimatch@3.0.2
  │ │   │   └─┬ brace-expansion@1.1.5
  │ │   │     ├── balanced-match@0.4.1
  │ │   │     └── concat-map@0.0.1
  │ │   ├─┬ once@1.3.3
  │ │   │ └── wrappy@1.0.2
  │ │   ├─┬ readable-stream@2.1.4
  │ │   │ ├── buffer-shims@1.0.0
  │ │   │ ├── core-util-is@1.0.2
  │ │   │ ├── inherits@2.0.1
  │ │   │ ├── isarray@1.0.0
  │ │   │ ├── process-nextick-args@1.0.7
  │ │   │ ├── string_decoder@0.10.31
  │ │   │ └── util-deprecate@1.0.2
  │ │   └── uid-number@0.0.6
  │ └─┬ object.assign@4.0.4
  │   ├─┬ define-properties@1.1.2
  │   │ └── foreach@2.0.5
  │   ├── function-bind@1.1.0
  │   └── object-keys@1.0.11
  ├─┬ serve-favicon@2.3.0
  │ └── ms@0.7.1
  ├── serve-static@1.11.1
  ├─┬ session-file-store@0.2.1
  │ ├── bagpipe@0.3.5
  │ ├── fs-extra@0.26.7
  │ ├── retry@0.9.0
  │ └─┬ write-file-atomic@1.2.0
  │   ├── imurmurhash@0.1.4
  │   └── slide@1.1.6
  ├─┬ sha1@1.1.1
  │ ├── charenc@0.0.1
  │ └── crypt@0.0.1
  ├─┬ socket.io@1.4.8
  │ ├─┬ engine.io@1.6.11
  │ │ ├─┬ accepts@1.1.4
  │ │ │ ├─┬ mime-types@2.0.14
  │ │ │ │ └── mime-db@1.12.0
  │ │ │ └── negotiator@0.4.9
  │ │ ├── base64id@0.1.0
  │ │ ├─┬ engine.io-parser@1.2.4
  │ │ │ ├── after@0.8.1
  │ │ │ ├── arraybuffer.slice@0.0.6
  │ │ │ ├── base64-arraybuffer@0.1.2
  │ │ │ ├── blob@0.0.4
  │ │ │ ├── has-binary@0.1.6
  │ │ │ └── utf8@2.1.0
  │ │ └─┬ ws@1.1.0
  │ │   ├── options@0.0.6
  │ │   └── ultron@1.0.2
  │ ├─┬ has-binary@0.1.7
  │ │ └── isarray@0.0.1
  │ ├─┬ socket.io-adapter@0.4.0
  │ │ └─┬ socket.io-parser@2.2.2
  │ │   ├── debug@0.7.4
  │ │   └── json3@3.2.6
  │ ├─┬ socket.io-client@1.4.8
  │ │ ├── backo2@1.0.2
  │ │ ├── component-bind@1.0.0
  │ │ ├── component-emitter@1.2.0
  │ │ ├─┬ engine.io-client@1.6.11
  │ │ │ ├── component-inherit@0.0.3
  │ │ │ ├── has-cors@1.1.0
  │ │ │ ├── parsejson@0.0.1
  │ │ │ ├── parseqs@0.0.2
  │ │ │ ├── ws@1.0.1
  │ │ │ ├── xmlhttprequest-ssl@1.5.1
  │ │ │ └── yeast@0.1.2
  │ │ ├── indexof@0.0.1
  │ │ ├── object-component@0.0.3
  │ │ ├─┬ parseuri@0.0.4
  │ │ │ └─┬ better-assert@1.0.2
  │ │ │   └── callsite@1.0.0
  │ │ └── to-array@0.1.4
  │ └─┬ socket.io-parser@2.2.6
  │   ├── benchmark@1.0.0
  │   ├── component-emitter@1.1.2
  │   └── json3@3.3.2
  ├── sortablejs@1.4.2
  ├─┬ stacktrace-js@1.3.1
  │ ├─┬ error-stack-parser@1.3.6
  │ │ └── stackframe@0.3.1
  │ ├── stack-generator@1.0.7
  │ └─┬ stacktrace-gps@2.4.4
  │   └── source-map@0.5.6
  ├─┬ superagent@2.0.0
  │ ├── component-emitter@1.2.1
  │ ├── cookiejar@2.1.0
  │ ├── extend@3.0.0
  │ ├─┬ form-data@1.0.0-rc4
  │ │ ├── async@1.5.2
  │ │ └─┬ combined-stream@1.0.5
  │ │   └── delayed-stream@1.0.0
  │ ├── formidable@1.0.17
  │ ├── mime@1.3.4
  │ ├─┬ readable-stream@2.1.5
  │ │ ├── buffer-shims@1.0.0
  │ │ ├── core-util-is@1.0.2
  │ │ ├── isarray@1.0.0
  │ │ ├── process-nextick-args@1.0.7
  │ │ ├── string_decoder@0.10.31
  │ │ └── util-deprecate@1.0.2
  │ └── reduce-component@1.0.1
  ├── three@0.78.0
  ├─┬ webappengine@1.1.2
  │ ├─┬ express@4.13.4
  │ │ ├─┬ accepts@1.2.13
  │ │ │ └── negotiator@0.5.3
  │ │ ├── cookie@0.1.5
  │ │ ├── finalhandler@0.4.1
  │ │ ├─┬ proxy-addr@1.0.10
  │ │ │ └── ipaddr.js@1.0.5
  │ │ ├── qs@4.0.0
  │ │ ├── range-parser@1.0.3
  │ │ ├─┬ send@0.13.1
  │ │ │ ├── http-errors@1.3.1
  │ │ │ └── statuses@1.2.1
  │ │ └── vary@1.0.1
  │ ├─┬ express-session@1.13.0
  │ │ ├── cookie@0.2.3
  │ │ └─┬ uid-safe@2.0.0
  │ │   └── base64-url@1.2.1
  │ ├── i18next@3.1.0
  │ ├── multihost@0.1.1
  │ └─┬ serve-static@1.10.3
  │   └── send@0.13.2
  └─┬ winston@2.2.0
    ├── async@1.0.0
    ├── colors@1.0.3
    ├── cycle@1.0.3
    ├── eyes@0.1.8
    ├── isstream@0.1.2
喜欢 (0)