次のpackage.jsonファイルがあります。
{
"name": "service",
"version": "1.0.0",
"private": true,
"description": "my service",
"license": "none",
"scripts": {
"build": "tsc"
},
"dependencies": {
"@mycompany/mypackage": "1.1.1"
}
}
@mycompany/mypackageのバージョンを「1.2.1」に更新したいです。似たような記事が見つかりました。これそしてこれjqをお勧めします。
jqコマンドを実行すると、jq -r '"dependencies.@mycompany/mypackage" |= "1.2.1"' package.json
次のエラーが発生します。jq: error (at temp.json:13): Invalid path expression with result "dependencies.@mycompany/m...
私が知る限り、私が使用するときのパスは正しいです。JQプレイ。
誰でもどんな提案がありますか?
ベストアンサー1
あなたはすでに近いです。@mycompany/mypackage
と@
は両方とも特殊文字なので、キーを引用する必要があり/
ますが、フィルタ全体の一部ではなく個別に引用する必要があります。.
ルートオブジェクトを照会するにはリーダーも必要です。これは働きます:
$ jq -r '.dependencies."@mycompany/mypackage" |= "1.2.1"' package.json
{
"name": "service",
"version": "1.0.0",
"private": true,
"description": "my service",
"license": "none",
"scripts": {
"build": "tsc"
},
"dependencies": {
"@mycompany/mypackage": "1.2.1"
}
}