programing

패키지 설치 방법.npm을 사용하는 현재 디렉터리의 json 종속성

iphone6s 2023. 5. 22. 20:48
반응형

패키지 설치 방법.npm을 사용하는 현재 디렉터리의 json 종속성

저는 foo app이라는 웹 앱을 가지고 있습니다.나는 있습니다package.json근본적으로특정 항목에 모든 종속성을 설치합니다.node_modules directory이거 어떻게 하는 거지?

내가 원하는 것

내게 두 개가 있다고 치자.widget종속 관계다음과 같은 디렉토리 구조로 마무리하고 싶습니다.

node_modules/
  widgetA
  widgetB
fooapp/
  package.js
  lib
  ..

내가 얻는 것

달리면npm install fooapp/이해합니다.

node_modules/
  fooapp/
    node_modules/
      widgetA
      widgetB
    package.js
    lib/
    ..
fooapp/
  package.js
  lib/
  ..

npm은 node_dir에 내 앱 디렉터리의 복사본을 만들고 다른 node_dir 디렉터리 에 패키지를 설치합니다.

이것이 패키지를 설치하는 것이 타당하다는 것을 이해합니다.하지만 나는 그렇지 않다.require()내 웹 앱은 다른 것 안에 있고, 나는 그것을 직접 실행합니다.특정 node_modules 디렉토리에 종속성을 설치하는 간단한 방법을 찾고 있습니다.

실행 중:

npm install

앱 디렉터리(즉, 패키지) 내부에서.json is located)는 여기에 설명된 대로 을 모듈로 설치하는 대신 앱에 대한 종속성을 설치합니다.이러한 파일은 패키지와 관련하여 ./node_modules에 저장됩니다.json 파일(사실 이것보다 조금 더 복잡하므로 여기서 npm 문서를 확인하십시오.)

노드의 '필수' 메커니즘이 이를 이해하기 때문에 원한다면 node_modulesdir를 앱의 상위 dir로 자유롭게 이동할 수 있습니다.그러나 설치/업데이트로 앱의 종속성을 업데이트하려는 경우, npm은 재배치된 'node_modules'를 보지 못하고 package.json과 관련된 새 dir를 만듭니다.

이를 방지하려면 appdir에서 재배치된 node_modules에 대한 심볼 링크를 생성하면 됩니다.

ln -s ../node_modules node_modules

내 경우에는 해야 합니다.

sudo npm install  

제 프로젝트가 /var/www 안에 있기 때문에 적절한 권한도 설정해야 합니다.

그냥 실행

sudo npm i --save

이상입니다

npm i --force

설명서에서:

-f또는--force디스크에 로컬 복사본이 있더라도 인수를 지정하면 npm이 원격 리소스를 가져오게 됩니다.

언급URL : https://stackoverflow.com/questions/8367031/how-do-i-install-package-json-dependencies-in-the-current-directory-using-npm

반응형