Як встановити модуль node.js без використання npm?


115

На сторінці github вузла перераховано досить багато модулів, але вони не публікуються разом з npm-реєстром. Ці модулі неможливо встановити за допомогою npm.

Який правильний спосіб встановити ці модулі nodejs після їх клонування з Git?

Відповіді:


73

Вам потрібно завантажити їх джерело з github. Знайдіть головний файл, а потім включіть його у свій основний файл.

Приклад цього можна знайти тут> Як вручну встановити модуль node.js?

Зазвичай вам потрібно знайти джерело і пройти файл package.json. Там ви можете знайти головний файл. Так що ви можете включити це у свою заявку.

Щоб включити example.js у свій додаток. Скопіюйте його у папку додатків та додайте це у верхній частині основного файлу js.

var moduleName = require("path/to/example.js")


1
Чи можливо імпортувати скрипт із зовнішньої URL-адреси (наприклад var myscript = require("http://www.mywebsite.com/myscript.js"))? Схоже, requireфункція не працює для зовнішніх URL-адрес.
Андерсон Грін

2
вимагає насправді синхронний, тому ні, він не працює для зовнішніх URL-адрес.
Кріс Таварес

Примітка: вам потрібно видалити -masterдодані до бібліотеки github; як у зміні xxx-masterна xxx.
БАР

65

Ці модулі неможливо встановити за допомогою npm.

Насправді ви можете встановити модуль, вказавши замість імені локальний шлях. Поки у сховищі є дійсний package.jsonфайл, він повинен працювати.


Введіть npm -lта гарну допомогу:

CLI:

...
install     npm install <tarball file>
                npm install <tarball url>
                npm install <folder>
                npm install <pkg>
                npm install <pkg>@<tag>
                npm install <pkg>@<version>
                npm install <pkg>@<version range>

                Can specify one or more: npm install ./foo.tgz bar@stable /some/folder
                If no argument is supplied and ./npm-shrinkwrap.json is 
                present, installs dependencies specified in the shrinkwrap.
                Otherwise, installs dependencies from ./package.json.

Що потрапило мені в очі: npm install <folder>

У моєму випадку у мене виникли проблеми з mrtмодулем, тому я це зробив (у тимчасовому каталозі)

  • Клонувати репо

     git clone https://github.com/oortcloud/meteorite.git
  • І я встановлюю це глобально за допомогою:

     npm install -g ./meteorite

Порада:

Так само можна встановити репо для локального npm-проекту за допомогою:

     npm install ../meteorite

А також можна створити посилання на репо, якщо потрібен патч у розробці:

     npm link ../meteorite

1
найкраще. У мене також виникли проблеми з модулем, тому я відправив і клонував його до каталогу братів свого веб-проекту, оновив усі його залежності до останніх версій, а потім встановив його у своєму веб-проекті з 'npm install ../ break_module_name Це спрацювало як шарм. Дякую!
Perry Tew

+1, але це не працює, якщо у нас немає доступу до мережі для npm, а модуль, з яким ми встановлюємо, npm install <folder>має безліч інших залежностей npm.
Абдул Рауф

Якщо npm знайде пакет у node_modules, або з глобальної (не впевнений тут) області, або з локальної, він не буде намагатися завантажити його знову. Це означає, що якщо всі прямі залежності репо можуть бути попередньо завантажені та скопійовані у папку node_module, тоді вона спрацює.
Тіберіу C.

11

Завантажте код з github у каталог node_modules

var moduleName = require("<name of directory>")

що має це зробити.

якщо модуль має залежності і має package.json, відкрийте модуль і введіть npm install.

Сподіваюся, це допомагає


Я думаю, що цей код працює, якщо названий основний файлindex.js
R3tep

8

Ви можете клонувати модуль безпосередньо у вашому локальному проекті.

Пусковий термінал. CD у ваш проект, а потім:

npm встановити https://github.com/repo/npm_module.git --save


1
Відповідь я шукав.
Faisal Mq

Що відбувається, коли пакет змінено, як оновити до останньої версії? Банкомат, єдине "рішення", яке я знайшов, - видалити фудлер з node_modules, видалити запис package.json і повторно додати, що болить ...
Predrag Stojadinović

1

Крок за кроком:

  • Припустимо, ви працюєте над проектом , use-gulpякий використовує ( requireи) , node_modulesяк gulpі gulp-util.
  • Тепер ви хочете внести деякі зміни в gulp-utillib і протестувати його локально за допомогою свого use-gulpпроекту ...
  • gulp-utilПроект вилки на github \ bitbucket і т.д.
  • Перехід до свого проекту: cd use-gulp/node_modules
  • Клон gulp-utilяк gulp-util-dev:git clone https://.../gulp-util.git gulp-util-dev
  • Запустіть, npm installщоб забезпечити наявність залежностей gulp-util-dev.
  • Тепер у вас є дзеркало gulp-utilяк gulp-util-dev. use-gulpТепер у своєму проекті ви можете замінити: require('gulp-util')...;call з: require('gulp-util-dev')перевірити свої зміни, які ви внеслиgulp-util-dev
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.