2015-12-20 3 views
8

Я использую компонент rc-slider в своем приложении и должен был добавить одну функцию для удовлетворения моих потребностей.Как использовать модифицированный модуль узла с помощью ветки github?

Я раздвинул основной репозиторий и нажал мои изменения на this branch.

В приложении, я изменил package.json, как показано ниже, и побежал НПМ установить снова:

"rc-slider": "Rodrigora/slider#add-label" 

Ничего не изменилось. Кажется, что npm не обновляет зависимости.

Итак, я снял node_modules и рельсы папку кэша и снова запускали команду установки:

rm -rf node_modules/ 
rake tmp:cache:clear 
npm install 

Теперь у меня есть эта ошибка:

events.js:142 
     throw er; // Unhandled 'error' event 
    ^

Error: Cannot find module 'rc-slider' from '/Users/rodrigora/project/app/assets/javascripts' 

НПМ не может найти rc-slider когда Я использую модифицированную ветвь.

  • NPM не обновляет зависимости только при изменении файла package.json?
  • Должен ли я запустить некоторую команду сборки для установки кода ветвления?
+0

Можете ли вы разместить свой пакет.json и 'npm -v'? Я просто попробовал предложение @ Chris911, и пакет был успешно установлен. – philsch

+0

Ошибка, упомянутая Родриго, будет происходить во время выполнения, а не во время команды '' 'npm install'''. Ошибка возникла в '' 'require ('rc-slider')' ''. Проблема была в пакете.json. Поскольку этот проект является проектом '' 'responsejs'', он должен быть скомпилирован при установке из github. –

ответ

2

Вы можете использовать Git репозиториев НПМ пакетов:

"rc-slider": "git://github.com/Rodrigora/slider#add-label"

+0

Я попробовал. Но это вызывает ошибку 'Не могу найти модуль 'rc-slider'' – Rodrigo

4

В npm docs:

"dependencies": { 
    "rc-slider": "git://github.com/Rodrigora/slider.git#add-label" 
} 

Также вы можете использовать

npm install git://github.com/Rodrigora/slider.git#add-label --save

Вышеуказанная команда добавит эту зависимость в ваш package.json.

Edit:

Я скучаю понял ваш вопрос. Я попробовал следующее исправление в репо, которое вы упомянули, и это сработало. (у вас также должна быть установка зависимостей, как указано выше)

Это реактивный проект. Он компилируется и публикуется в НПМ.

Итак, если вы хотите установить его прямо с вашего GitHub вилки, вы должны внести некоторые изменения в package.json

Перед внесением изменений в package.json установки RC-инструменты globaly:

sudo npm install rc-tools -g

Изменить files, которые должны быть включены:

"files": [ 
    "index.js", 
    "assets", 
    "src" 
] 

и добавить postinstall скрипт в scripts:

"postinstall": "rc-tools run compile"

Затем попробуйте установить из GitHub после внесения этих изменений в этой отрасли.