私はpackage.json
file を使用して nodejs の要件を とともに定義していますがnpm update
、もちろん正常に動作しています。
ノードを使用して他のサードパーティのライブラリを管理 (簡単な方法で更新) するにはどうすればよいですか? 例えば:
https://github.com/documentcloud/backbone.git
https://github.com/twitter/bootstrap.git
vendor
フォルダ内。
私はpackage.json
file を使用して nodejs の要件を とともに定義していますがnpm update
、もちろん正常に動作しています。
ノードを使用して他のサードパーティのライブラリを管理 (簡単な方法で更新) するにはどうすればよいですか? 例えば:
https://github.com/documentcloud/backbone.git
https://github.com/twitter/bootstrap.git
vendor
フォルダ内。
まとめ: http://twitter.github.com/bower/を使いたいと思います
詳細: 質問を理解するには、次の 2 つの方法があります。
npm
非コードを管理/更新する方法は?質問は前者のように表現されていますが、含まれている例から、後者について何を聞きたいと思いますか。
サーバー側のコードの場合は、すべてのコードがnpm
スタイルpackage.json
のマニフェストで出荷されると主張してください。コードの作成者が応答しない場合は、フォークしてマニフェストを追加します。言い訳はありません。
クライアント側コードの場合、状況は異なります。パッケージ管理には確立された標準はありませんが、広く認識されている問題であり、非常に活発な開発分野です。最近、いくつかの挑戦者が台頭し、支配的な地位を獲得しようとしています: BPM、ジャムまたはエンダー。どちらを選択するかはあなた次第です。それらはここによく要約されています: Web アセットのパッケージ マネージャー
ただし、上記のすべては、やや野心的な問題に対処しています。これらのモジュールのブラウザーへのトランスポートを整理しようとしています (遅延読み込み、require-js スタイル、依存関係の解決、連結/縮小などを介して)。使いにくい。
この分野への新規参入者は、TwitterのBowerです。フォルダー内のダウンロード/更新のライフサイクルのみに焦点を当て、ブラウザーの配信は無視します。vendor
私はそのアプローチが好きです。あなたはそれをチェックアウトする必要があります。
あなたはgitサブモジュールに行くことができます:
http://git-scm.com/book/en/Git-Tools-Submodules
GitHub で他の人のリポジトリを Git サブモジュールとして使用する
[更新 1 ] リポジトリのルートでこれを行います。
git submodule add git://github.com/documentcloud/backbone.git vendors/backbone
git submodule add git://github.com/twitter/bootstrap.git vendors/bootstrap
詳細については、これを確認してください: http://skyl.org/log/post/skyl/2009/11/nested-git-repositories-with-github-using-submodule-in-three-minutes/
これは nodejs のやり方ではないかもしれませんし、一部の純粋主義者は文句を言うかもしれませんが、Composerはあなたが望むことをします。Composer は PHP プロジェクトで使用されますが、nodejs プロジェクトのサードパーティの非 npmリポジトリの管理にも Composer を使用できない理由はありません。サード パーティのライブラリに package.json を含めることが望ましいのは明らかですが、そうはいきません。現在のnodejsアプリでこれを試してみましたが、完璧に機能しました。
長所:
短所:
ここでそれを行う方法(cliからphpを実行できる必要があります):
1. Composer をダウンロードします (ルート nodejs プロジェクト フォルダーに直接)
curl -s https://getcomposer.org/composer.phar > composer.phar
2. composer.json ファイルを作成します(プロジェクトのルートに)
{
"repositories": [
{
"type": "package",
"package": {
"name": "twitter/bootstrap",
"version": "2.0.0",
"dist": {
"url": "https://github.com/twitter/bootstrap/zipball/master",
"type": "zip"
},
"source": {
"url": "https://github.com/twitter/bootstrap.git",
"type": "git",
"reference": "master"
}
}
}
],
"require": {
"twitter/bootstrap": "2.0.0"
}
}
3. Composer の更新を実行する
php composer.phar update
vendor
これにより、要求どおりにパッケージがフォルダーにダウンロードされます。
├── vendor
│ ├── ...
│ ├── composer
│ │ └── installed.json
│ └── twitter
│ └── bootstrap
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── docs
│ │ ├── assets
│ │ └── ...
│ ├── img
│ │ ├── glyphicons-halflings-white.png
│ │ └── glyphicons-halflings.png
│ ├── js
│ │ ├── bootstrap-affix.js
│ │ └── ...
│ ├── less
│ │ ├── accordion.less
│ │ └── ...
│ └── ...