Actions

Difference between revisions of "Packaging NPM"

From HacDC Wiki

Line 8: Line 8:
** '''make test'''
** '''make test'''
** '''make install DESTDIR=/tmp/nodejs-vx.y.z'''
** '''make install DESTDIR=/tmp/nodejs-vx.y.z'''
** ''dir2xzm /tmp/nodejs-vx.y.z /tmp/node-x.y.z.xzm'''
** '''dir2xzm /tmp/nodejs-vx.y.z /tmp/node-x.y.z.xzm'''
* Download the source to npm [https://github.com/isaacs/npm/zipball/master from Github]
* Download the source to npm [https://github.com/isaacs/npm/zipball/master from Github].
* '''unzip isaacs-npm-...zip'''
* '''unzip isaacs-npm-...zip'''
* '''cd isaacs-npm-...'''
* '''cd isaacs-npm-...'''
Line 20: Line 20:
** '''node cli.js config set unsafe-perm true'''
** '''node cli.js config set unsafe-perm true'''
** '''node cli.js install -g .'''
** '''node cli.js install -g .'''
** ''dir2xzm /tmp/npm-x.y.z /tmp/npm-x.y.z.xzm'''
** '''dir2xzm /tmp/npm-x.y.z /tmp/npm-x.y.z.xzm'''
* Everything goes in /usr/lib/mode_modules/npm
* Everything goes in ''/usr/lib/mode_modules/npm''.
* /usr/bin/npm* are symlinked to /usr/lib/mode_modules/npm/bin/npm.js
* ''/usr/bin/npm*'' are symlinked to ''/usr/lib/mode_modules/npm/bin/npm.js''.

Revision as of 15:03, 25 February 2012

  • Ensure that node.js is installed and operable.
    • Note that it is necessary to install node.js and npm on the build system to build the packages.** Download the latest .tar.gz tarball of the node.js source code.
    • cd /tmp
    • tar xvfz /path/to/node-vx.y.z.tar.gz
    • cd node-vx.y.z
    • ./configure -p --prefix=/usr
    • make
    • make test
    • make install DESTDIR=/tmp/nodejs-vx.y.z
    • dir2xzm /tmp/nodejs-vx.y.z /tmp/node-x.y.z.xzm
  • Download the source to npm from Github.
  • unzip isaacs-npm-...zip
  • cd isaacs-npm-...
  • make
  • make install
    • mkdir -p /tmp/npm-x.y.z/usr
    • export npm_config_userconfig=./npmrc
    • node cli.js config set cache /tmp/npm-cache
    • node cli.js config set prefix /tmp/npm-x.y.z/usr
    • node cli.js config set unsafe-perm true
    • node cli.js install -g .
    • dir2xzm /tmp/npm-x.y.z /tmp/npm-x.y.z.xzm
  • Everything goes in /usr/lib/mode_modules/npm.
  • /usr/bin/npm* are symlinked to /usr/lib/mode_modules/npm/bin/npm.js.