5

古いバージョンのreact-bootstrapを使用するプロジェクトがあります

私のpackage.jsonに私が持っていた

"react-boostrap": "^0.13.3"

問題を引き起こしているバグがそこにあります。その修正は非常に簡単なので、リポジトリをフォークし、v0.13.3 のコミットにロールバックしました。

git reset --hard <commit-hash>

1行の修正を行い、強制的にフォークに押し戻しました。

次に、メイン プロジェクトの package.json を更新して、フォークを指すようにしました。

"react-boostrap": "mygithubrepo/react-bootstrap"

node_modules ディレクトリを削除して実行sudo npm cache clearし、すべてが適切で新鮮であることを確認しました。次にnpm install、レポから自分のバージョンの react-bootstrap をプルダウンして実行しました。

ただし、現在プルダウンされているバージョンは、node_modules フォルダー内の同じ形式ではありません。基本的に、プロジェクトをビルドしたようには見えません。

私が使用する場合:

"react-boostrap": "^0.13.3"

node_modules フォルダーには、次のようなビルドされたコードが含まれています。

+node_modules
--+react_bootstrap
----+utils
-----Acordion.js
etc.....

しかし、フォークしたバージョンのレポを指すと、次のようになります。

"react-boostrap": "mygithubrepo/react-bootstrap"

次に、ノードモジュールのソースリポジトリ構造だけを取得します(ビルドされていないようです)

+node_modules
--+react_bootstrap
----+docs
----+ie8
----+src
-------+utils
--------Acordion.jsx
........etc.....
----+tools
etc.....

React Bootstrap を使用して参照するとrequire('react-bootstrap')、機能しません (ファイルがビルドされていないため)。

では、github ではなく npmjs でファイルを指しているのと何が違うのでしょうか? react-bootstrap package.json には prepublish/publish/postpublish スクリプトがないため、npmjs にプッシュする前に手動でビルドしたかどうかはわかりません。

npm install基本的に、メイン プロジェクトを実行するときに、フォークされたバージョンを自動的にビルドする必要があります。何か案は?

編集 1

npm install以下のJonathan Mullerの回答に従って、react-bootstrapのフォークを更新した後、メインプロジェクトリポジトリで実行されるエラー:

>> Local Npm module "grunt-contrib-uglify" not found. Is it installed?
>> Local Npm module "grunt-amd-wrap" not found. Is it installed?
>> Local Npm module "grunt-react" not found. Is it installed?
>> Local Npm module "grunt-contrib-clean" not found. Is it installed?
>> Local Npm module "grunt-contrib-watch" not found. Is it installed?
>> Local Npm module "grunt-contrib-copy" not found. Is it installed?
>> Local Npm module "grunt-browserify" not found. Is it installed?
>> Local Npm module "grunt-contrib-requirejs" not found. Is it installed?
Warning: Task "clean:amd" not found. Use --force to continue.

Aborted due to warnings.
4

1 に答える 1