Как вручную установить модуль node.js? - PullRequest
26 голосов
/ 25 апреля 2011

Я хочу загрузить файл на s3, поэтому я хочу запустить программу загрузки из этой статьи: http://www.componentix.com/blog/9

Для этого мне нужно установить составной модуль.https://github.com/isaacs/multipart-js

Но, выполнив npm install multipart, выдает ошибку

Как мне установить этот составной модуль, чтобы запустить эту программу?

Ответы [ 2 ]

32 голосов
/ 17 августа 2011

Вы можете загрузить полное репо (а не только папку lib) в свое приложение в папке с именем node_modules.

Как только вы это сделаете, ваш require будет просто:

var multipart = require('multipart');

Это связано с тем, как узел разрешает зависимости модуля. Он всегда будет искать каталог node_modules в корне вашего приложения (и в некоторых других местах).

Важно, чтобы вы загружали полное хранилище, а не только папку lib, если вы планируете использовать его таким образом, поскольку файл package.json используется для поиска главной точки входа.

 { "name" : "multipart"
, "version" : "0.0.0"
, "description" : "A JavaScript library for parsing and writing multipart messages"
, "contributors" :
  [ "Isaac Z. Schlueter <i@izs.me>"
  , "John Wright <mrjjwright@gmail.com>"
  ]
, "repository" :
  { "type" : "git"
  , "url" : "http://github.com/isaacs/multipart-js.git"
  }
, "main" : "lib/multipart"
}

Преимуществом этого является совместимость с локальной установкой npm на вашем компьютере разработчика.

Вы также можете скачать форму файла tar с github. Нажмите кнопку Download и разверните ее вместе с приложением. Как только это будет сделано на вашем сервере, вы можете запустить

npm install <path-to-the-tar-file>

Это установит multipart на машину для вас.

24 голосов
/ 25 апреля 2011

Загрузить папку lib из https://github.com/isaacs/multipart-js (включая все файлы внутри нее).

Поместите все эти файлы рядом с приложением вашего узла в одну папку.

Вкл.верхняя часть файла приложения, где вы включили другие модули, такие как HTTP и т. д. добавьте это>

var multipart = require("./multipart")

...