Мне удалось настроить package.json
и собрать зависимости моего приложения в пакет с помощью browserify
, однако, когда я пытаюсь отключить одну из зависимостей для разветвленной локальной копии, сборка завершается ошибкой.
Это работает и устанавливает восходящую версию (исключая другие модули):
"dependencies": {"react-bootstrap": "0.13.0"}
Локальный путь к моей вилке не работает:
"dependencies": {"react-bootstrap": "/home/tom/dev/react-bootstrap/"}
Как и использование npm link
, что кажется «правильным» способом управления локальной версией с минимальными трудностями.
Наконец, использование URL-адреса git для моей вилки также не работает:
"dependencies": {"react-bootstrap": "git://github.com/tompaton/react-bootstrap.git"}
Я попытался обновить package.json
в модуле react-bootstrap
, чтобы URL-адрес репозитория указывал на tompaton/react-bootstrap
, но это не имело никакого значения.
Сообщение об ошибке, которое я получаю, не проливает света на ситуацию:
(cycles)tom@neon:~/dev/flask_projects/cycles!$ npm run build
> [email protected] build /home/tom/dev/flask_projects/cycles
> browserify -r react-bootstrap -o static/lib-runtime.js
Error: Cannot find module 'react-bootstrap' from '/home/tom/dev/flask_projects/cycles'
at /home/tom/dev/flask_projects/cycles/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:50:17
at process (/home/tom/dev/flask_projects/cycles/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:119:43)
at /home/tom/dev/flask_projects/cycles/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:128:21
at load (/home/tom/dev/flask_projects/cycles/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:60:43)
at /home/tom/dev/flask_projects/cycles/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:66:22
at /home/tom/dev/flask_projects/cycles/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:21:47
at Object.oncomplete (fs.js:107:15)
npm ERR! [email protected] build: `browserify -r react-bootstrap -o static/lib-runtime.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is most likely a problem with the Cycles package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! browserify -r react-bootstrap -o static/lib-runtime.js
npm ERR! You can get their info via:
npm ERR! npm owner ls Cycles
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.13.0-43-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "run" "build-runtime"
npm ERR! cwd /home/tom/dev/flask_projects/cycles
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/tom/dev/flask_projects/cycles/npm-debug.log
npm ERR! not ok code 0
/home/tom/dev/flask_projects/cycles/npm-debug.log
имеет ту же информацию.
Папка node_modules
выглядит так:
(cycles)tom@neon:~/dev/flask_projects/cycles!$ ls -al node_modules/react-bootstrap/
total 64
drwxrwxr-x 7 tom tom 4096 Dec 16 22:00 .
drwxrwxr-x 14 tom tom 4096 Dec 16 22:00 ..
drwxr-xr-x 6 tom tom 4096 Dec 16 22:00 docs
-rw-r--r-- 1 tom tom 3886 Dec 16 22:00 Gruntfile.js
drwxr-xr-x 3 tom tom 4096 Dec 16 22:00 ie8
-rw-r--r-- 1 tom tom 228 Dec 16 22:00 .jshintrc
-rw-r--r-- 1 tom tom 425 Dec 16 22:00 karma.ci.js
-rw-r--r-- 1 tom tom 390 Dec 16 22:00 karma.dev.js
-rw-r--r-- 1 tom tom 1123 Dec 16 22:00 LICENSE
-rw-r--r-- 1 tom tom 146 Dec 16 22:00 .npmignore
-rw-r--r-- 1 tom tom 3596 Dec 16 22:00 package.json
-rw-r--r-- 1 tom tom 1345 Dec 16 22:00 README.md
drwxr-xr-x 3 tom tom 4096 Dec 16 22:00 src
drwxr-xr-x 3 tom tom 4096 Dec 16 22:00 test
drwxr-xr-x 5 tom tom 4096 Dec 16 22:00 tools
-rw-r--r-- 1 tom tom 37 Dec 16 22:00 .travis.yml
Итак, npm install
загрузил правильную версию, и с правами все в порядке.
Может ли кто-нибудь сказать мне, как это решить? или, по крайней мере, чтобы указать мне на лучшую информацию о том, что такое фактическая ошибка?
npm link
, чтобы сделать путь тестов короче:x = require("../../../x")
->x = require("x")
. Как вы думаете, возможно ли решить эту проблему с помощьюnpm link
таким образом, чтобы он был совместим с браузером? (Я задал вопрос здесь, если вы хотите ответить: environme" title="как избежать длинных относительных путей с жасмином в разных средах"> stackoverflow.com/questions/28446269/ ) - person inf3rno   schedule 11.02.2015npm install react-bootstrap
, а затем вручную скопировал измененные файлы из моей локальной папки сборки в папкуnode_modules/react-bootstrap
. это означало, что у моего браузерного lib-runtime.js была моя копия файлов, но, очевидно, это неправильный способ сделать это или простой вариант для обслуживания. - person Tom   schedule 13.02.2015NODE_PATH
. На мне это решило проблему. Afaik NODE_PATH поддерживается браузером, а ссылка npm — нет. Не знаю, я новичок в этой теме... :-) - person inf3rno   schedule 13.02.2015