
Nikolay
23.02.2017
11:43:40
я про то, что у них в npm зависимости, в которых отдельная либа для реализации функции map, например
которая пишется руками за секунды
и если ее убрать из репы - куча написанного кода сломается

Google

Nikolay
23.02.2017
11:45:01
да и вообще, то, установится ли пакет npm’ом, зависит от фазы луны и сочетания звезд
сама инфраструктура, которую они построили вокруг языка, его дискредитировала
язык может быть сколь угодно хороший, но инфраструктура вокруг него - говно

Stepan
23.02.2017
11:46:35
Все там нормально, болячки и проблемы есть но решаются.
Вокруг js большая и живая экосистема

Nikolay
23.02.2017
11:47:22
невозможно решить 1024+ зависимостей в среднем на проект
невозможно научить людей писать руками map, а не импортировать плагин для этого
не знаю, я очень скептически отношусь к будущему js
там надо выкинуть вообще все и переписать на новый пакетный менеджер и формат ресолвинга зависимостей
и то не факт, что это поможет
потому что ни стабильных API, ни умения писать вещи руками от этого у народа не появится

Jonh
23.02.2017
11:50:57
проблемы плохого дизайна ЯП, как показывает история, не решаются с сохранением обратной совместимости

Google

Serge
23.02.2017
11:59:35

Nikolay
23.02.2017
12:03:23

Serge
23.02.2017
12:03:44

Nikolay
23.02.2017
12:07:24

Serge
23.02.2017
12:08:33

Stepan
23.02.2017
12:08:53
yarn

Nikolay
23.02.2017
12:09:04

Stepan
23.02.2017
12:09:07
yarn хорош, хотя там были проблемы

Nikolay
23.02.2017
12:09:10
почему такого же нет в js?

Stepan
23.02.2017
12:09:16
Лол

Serge
23.02.2017
12:09:22

Stepan
23.02.2017
12:09:41
Как каша из setup.py может быть лучше package.json?

Nikolay
23.02.2017
12:10:01

Serge
23.02.2017
12:10:12

Nikolay
23.02.2017
12:10:16

Serge
23.02.2017
12:11:09

Google

Serge
23.02.2017
12:11:29

Nikolay
23.02.2017
12:12:12

Serge
23.02.2017
12:12:35

Nikolay
23.02.2017
12:12:49

Nicolas
23.02.2017
12:16:38
Всем привет! Может кто знает ответ?
http://ru.stackoverflow.com/questions/631587/

Serge
23.02.2017
12:17:29
Несколько лет по меркам js -это вечность;)
В чем угодно. В зависимости двух пакетов от разных версий третьего.
В конфликте новой версии пакета, от которого ты зависишь, с новой версией зависимости его зависимости.

Nikolay
23.02.2017
12:19:25
точнее как, решения два

Nikolay
23.02.2017
12:19:38
либо ставить одну из версий, либо падать

Serge
23.02.2017
12:23:21

Nikolay
23.02.2017
12:23:34
ее не может не быть
вопрос только в том, как она решается

Serge
23.02.2017
12:24:20
ее не может не быть
Учи матчасть. Оно ставит зависимости внутрь каждой либы отдельно. А потом оно инклюдится, кому что надо.
И только в Питоне с глобальным реестром импортированных модулей в рантайме мы получили pip.

Nikolay
23.02.2017
12:25:53

Google

Serge
23.02.2017
12:26:22
В Java и Ruby - как в Питоне.
В go уже сделали локальные зависимости пакета.

Nikolay
23.02.2017
12:31:05
ну, в питоне ты можешь на несколько виртуаленвов сетап размазывать и перекидывать между ними данные pickle, теоретически...
будет примерно то же самое
это автоматизировать даже можно, при желании
говно, конечно, получится, но все же

Serge
23.02.2017
12:35:00

Nikolay
23.02.2017
12:35:25
когда я пишу в require какой-то пакет - какая мне версия подсосется?

Admin
ERROR: S client not available

Serge
23.02.2017
12:35:40
А если ты пишешь require и не написал в package.json, то прости.

Nikolay
23.02.2017
12:37:28
мне надо что, все стопицот зависимостей туда писать?

Serge
23.02.2017
12:37:47
Или поставил flask и надеешься, что с версией Mako не будет проблем, если её импортировать?

Nikolay
23.02.2017
12:38:58
делаю, но, например, я знаю, что pandas включает в себя dateutil и six, поэтому их необязательно напрямую указывать
иначе может как раз начаться говно с версиями

Google

Serge
23.02.2017
12:39:27

Nikolay
23.02.2017
12:39:43
только с диапазоном минимум

Serge
23.02.2017
12:39:57

Nikolay
23.02.2017
12:39:58
не, я согласен, что это не совсем корректно
по крайней мере, тут нет никаких неявностей и костылей
все просто работает

Serge
23.02.2017
12:41:01

Nikolay
23.02.2017
12:41:45

Serge
23.02.2017
12:42:25
И r11.in, в котором указано, что ты хочешь диапазон и того, и другого, если импортируешь обоих

Nikolay
23.02.2017
12:42:42
о, а я, кстати, вспомнил готовое решение
можно вместо прямого импорта использовать поиск через pkg_resources
конкретной версии

Serge
23.02.2017
12:43:11
Я устал это писать.
pip freeze -r r11.in > r11.txt

Nikolay
23.02.2017
12:43:18
и тогда можно будет без ада
интересно, надо попробовать

Serge
23.02.2017
12:44:04

Nikolay
23.02.2017
12:44:50
ты можешь, скажем, в pandas заимпортить dateutil, обозвав его pandas_dateutil

Serge
23.02.2017
12:46:35
А как их установить рядом, чтобы оба нашлись?