古いバージョンの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.