반응형
패키지를 편집합니다.명령줄의 json
패키지에 변수를 추가하거나 편집하려고 합니다.셸 스크립트의 json.그래서 내가 소포를 가지고 있다면.json은 다음과 같습니다.
{
"name": "my-project",
"description": "Project by @DerZyklop",
"version": "0.0.0",
...
나는 다음과 같은 명령을 원한다.
npm config set foo bar
다음과 같은 새로운 분야를 추가하다
{
"name": "my-project",
"description": "Project by @DerZyklop",
"foo": "bar",
"version": "0.0.0",
...
...하지만 아쉽게도npm config set
편집만 하면 됩니다.~/.npmrc
그리고 내 패키지는 아니야.json.
그package.json
그냥...json
파일을 작성하면 도구를 사용할 수 있습니다.인스톨 하려면 , 다음의 순서에 따릅니다.
npm install -g json
그런 다음 파일을 내부 편집할 수 있습니다.자세한 내용은 이쪽.
예
$ cat package.json
{
"name": "my-project",
"description": "Project by @DerZyklop",
"version": "0.0.0"
}
$ json -I -f package.json -e "this.foo=\"bar\""
json: updated "package.json" in-place
$ cat package.json
{
"name": "my-project",
"description": "Project by @DerZyklop",
"version": "0.0.0",
"foo": "bar"
}
네이티브 NPM 명령어가 있습니다.
npm pkg set 'scripts.test'='jest'
명령어를 공유할 때 매우 유용합니다.다른 사용자에게 CLI 도구 설치를 요청하는 대신 이 도구를 공유할 수 있습니다.
참고로 NPM 워크스페이스를 사용하면 모든 패키지를 함께 변경할 수 있습니다.
npm pkg set 'scripts.test'='jest' -ws
아무것도 인스톨 하고 싶지 않은 경우는, 1 행의 스크립트를 사용하고, 이 스크립트를 수정하는 것도 가능합니다.package.json
:
node -e "let pkg=require('./package.json'); pkg.homepage='${CI_PAGES_URL}'; require('fs').writeFileSync('package.json', JSON.stringify(pkg, null, 2));"
echo "`jq '.foo="bar"' package.json`" > package.json
다음과 같이 jq와 sponge(moreutils 패키지)를 사용할 수도 있습니다.
jq '.foo="bar"' package.json | sponge package.json
환경변수를 사용하는 경우:
jq --arg h "$HOMEPAGE" '.homepage=$h' package.json | sponge package.json
업데이트하고 싶은 것은version
에 있어서의 재산.package.json
그리고 이게 나한테 효과가 있었어
# this sets the version
# in package.json to 1.0.2
npm version 1.0.2 # creates a git-tag too
npm version 1.0.2 --no-git-tag-version # only changes the version without creating a git-tag
이것을 하기 위한 npm 패키지도 있습니다.npe
: https://github.com/zeke/npe
cd some/node/project
# Get stuff from package.json
npe name
npe scripts
npe scripts.test
npe repository.url
open $(npe repository.url)
# Set stuff in package.json
npe name foo
npe scripts.start "node index.js"
# Keywords string will be turned into an array
# If commas are present, they'll be the delimiter. Otherwise spaces.
npe keywords "foo, bar, cheese whiz"
npe keywords "foo bar baz"
# The current working directory's package.json is used by default,
# but you can point to another package file with a flag:
npe name --package=some/other/package.json
npe name other --package=some/other/package.json
언급URL : https://stackoverflow.com/questions/25329241/edit-package-json-from-command-line
반응형
'programing' 카테고리의 다른 글
JSX 및 React에서 onBlur 사용 (0) | 2023.03.27 |
---|---|
Wordpress 썸네일의 이미지 폭만 설정하려면 어떻게 해야 합니까? (0) | 2023.03.27 |
Python에서 느린 JSON 처리 - '속성 이름 필요' (0) | 2023.03.27 |
mdDialog에 데이터 전달 (0) | 2023.03.27 |
ng-messages to name Atribute를 동적으로 각도 설정 (0) | 2023.03.27 |