Как устанавливать пакеты npm вне консоли npm?

По причине безопасности клиента, где я работаю, мне не позволено загружать пакеты npm, попробовав это он продолжает грузить и не загружает разыскиваемый пакет:

C:\Windows\system32>npm install -g stylus
npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "stylus"
npm ERR! node v4.2.4
npm ERR! npm  v2.14.12
npm ERR! code ETIMEDOUT
npm ERR! errno ETIMEDOUT
npm ERR! syscall connect

npm ERR! network connect ETIMEDOUT 199.27.76.162:443
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Windows\system32\npm-debug.log

Есть какой-то способ загружать файлы и это размещать в папке node_modules?, я думаю, что оно так функционировало бы, или: из какого другого способа могут загружаться пакеты вне консоли npm?

2
задан 26.01.2016, 17:03
2 ответа

Поскольку я могу видеть то, что он перемещает, дело в том, что npm он не конфигурировался для особенностей сети твоего клиента. Ты можешь пытаться решать это используя получающий ответ этого вопроса, чтобы конфигурировать в npm proxy сети твоего клиента. Смоги состоять в том, чтобы это не решило твою проблему, так как в каких-то случаях proxy использует схему autentificacion (NTLM), не вынесенного из-за npm. В этом случае ты можешь пытаться решать продолжая рекомендации в этом issue npm. В конце концов всегда ты можешь использовать вариант устанавливания всех зависимостей от другой машины (в твоем доме или месте работы) и потом копировать папку node_modules (скорее всего сжатая) к машине в установке клиента. Хотя вышеупомянутое может быть проблематичным, так как скорее всего какая-то зависимость от дерева зависимостей - родной модуль nodejs и может не функционировать хорошо в другой машине из-за различий архитектуры или версии.

Я не рекомендую тебе сжимать каждую зависимость и изменять файл package.json потому что это со временем делает содержание очень тяжелого приложения и граничит в npm управления о которых версиях зависимости они вынесены приложением и как обновление зависимостей. Также я не рекомендую тебе устанавливать зависимости от твоего приложения глобальной формы как recomieda оригинально @rnd, так как многообразные приложения в той же машине могут зависеть от различных версий зависимости и сделав это этим создавая потенциальную проблему. Только установи глобально модули, которые подумались, чтобы использовать как общие команды (как bower, gulp, yeoman, и т.д.).

2
ответ дан 24.11.2019, 14:57
  • 1
    Спасибо!, это решило мою проблему, он касался устанавливать proxy в npm npm config set proxy http://1.2.3.4:8181/proxy.pac –  Andres Felipe Williams Suarez 08.04.2016, 20:49
  • 2
    Конечно я никогда не рекомендовал устанавливать зависимости глобально, OP уже устанавливал их глобально и только используйте тот же модификатор, что и usaba. –  rnrneverdies 08.04.2016, 21:48

Согласно документации npm install ты можешь использовать нотацию

npm install ./paquete.tar

То, что я сделал бы:

Ты это делаешь в персональном компьютере твоего дома, у которого есть Интернет:

  1. Ты клонируешь хранилище: ej: git clone https://github.com/stylus/stylus
  2. Ты создаешь один stylus.tar клонировавшей папки. (ты можешь использовать http://www.7-zip.org/)
  3. Ты автомобиль ты посылаешь stylus.tar из-за электронной почты или этого ты копируешь в pen drive.

Это потом в персональном компьютере работы:

  1. Ты копируешь stylus.tar к твоему диску.
  2. Ты выполняешь npm install ./stylus.tar -g

Обновление:

Если у пакета есть зависимости, процесс достаточно сложнее:

Ты был бы должен загружать также зависимости и потом издавать package.json перед тем, как делать .tar.

Пример package.json для stylus

"dependencies": {
    "css-parse": "file:./cssparse.tar",
    "mkdirp": "file:./mkdirp.tar",
    "debug": "file:./debug.tar",
    "sax": "file:./sax.tar",
    "glob": "file:./glob.tar",
    "source-map": "file:./sourcemap.tar"
}

Этот процесс может расти много, так как ты должен повторять с шагами для каждого пакета.

Как ты говоришь, он будет более легким, если ты добиваешься, чтобы они открыли тебе firewall, или в любом случае ты можешь использовать Интернет твоего мобильного телефона, или альтернативный доступ.

3
ответ дан 24.11.2019, 14:57
  • 1
    Привет Спасибо, мой estaci и # 243; n работы у него есть conexi и # 243; n в Интернет, к счастью, если я могу вводить GitHub в компьютер без проблем, эксперта и # 237; что я пошел загружаться шрифт, но обратил внимание на что-то, npm, сделав instalaci и # 243; n .tar ищи файл package.json и начни устанавливать зависимости, и или проблему, покрывать и # 237; чтобы делать то же самое, что и я сделал с stylus для зависимостей. Даже способ, я не покрываю смотреть, как я прошу, чтобы они дали возможность npm в сети клиента. –  Andres Felipe Williams Suarez 26.01.2016, 16:52