2
$ meteor list
foo 0.9*
...
$ meteor update foo
Your packages are at their latest compatible versions.

どのパッケージがfoo更新を停止する依存関係を持っているかを知るにはどうすればよいですか?

4

1 に答える 1

5

小さなスクリプトでできることは何もありません。

meteor list | grep ^[a-z] | tr -s ' ' | cut -d ' ' -f1,2 | tr -d '\*\+' | tr ':' '_' \
| while read X Y; do \
     cat ~/.meteor/packages/$X/$Y/web.browser.json \
     | xargs -0 node -e "X = JSON.parse(process.argv[1]); \
           X.uses.forEach(function(d) { \
               console.log(\"$X\", \"$Y\", d.package, d.constraint); \
           })"; \
  done | sort

これにより、使用するすべてのパッケージとそのバージョンが検索され、パッケージ ストレージに移動して依存関係が確認されます。この形式では、依存関係でソートされてリストされているだけなので、たとえば次のように表示されます。

ryw_blog 0.5.7 iron:router 0.9.1

これは、バージョン 0.9.1 の iron:router を必要とする ryw_blog バージョン 0.5.7 を使用していることを意味します。

本当に foo をチェックしたいだけなら| grep foo、並べ替えの後に a を追加するだけです。

もちろん、これは Windows を使用していないことを前提としています。これを osx でテストしましたが、Linux でも動作するはずです。

PS: これは便利そうだったので、そこから Gist を作成します: https://gist.github.com/chfritz/63dbf792d22563e5d0c0

于 2015-08-04T03:51:56.323 に答える