nodejs 실행 파일을 pkg로 패키징하는 방법은 무엇인가요? 다음 글에서는 pkg를 사용하여 Node 프로젝트를 실행 파일로 패키징하는 방법을 소개하겠습니다. 도움이 되길 바랍니다.
pkg를 사용하면 Node.js 프로젝트를 Node.js가 설치되지 않은 장치에서도 실행할 수 있는 실행 파일로 패키징할 수 있습니다. [관련 튜토리얼 권장 사항: nodejs 비디오 튜토리얼]
실험 환경
운영 체제: windows
노드 버전: 16.14.2
Op 생산 과정
PKG 다운로드
전역적으로 설치하고 모든 디렉터리에서 실행할 수 있습니다:
$ npm install -g pkg
패키징 프로그램
먼저 server.js 콘텐츠와 같은 간단한 프로그램을 작성하세요
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(3000, () => { console.log('Express web app on localhost:3000'); });
nodejs를 입력하세요 프로젝트 루트 디렉터리에서 다음 명령을 실행하세요
$ pkg server.js
첫 번째 오류가 보고됩니다
이때 오류가 보고됩니다
$ pkg server.js > pkg@5.6.0 > Targets not specified. Assuming: node16-linux-x64, node16-macos-x64, node16-win-x64 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.14.2-linux-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.3","name":"node-v16.14.2-linux-x64"} > Building base binary from source: built-v16.14.2-linux-x64 > Error! Not able to build for 'linux' here, only for 'win'
일반적인 생각은 현재 환경은 Windows 시스템으로 컴파일된 실행 파일만 지원한다는 것입니다. win
조정 지침은 다음과 같습니다:
$ pkg -t win server.js
여기서 -t win은 --targets win과 동일합니다. 이는 파일이 Windows용으로만 컴파일된다는 의미입니다.
두 번째 오류가 보고되었습니다
컴파일 중에 오류가 다시 보고되었습니다.
$ pkg -t win server.js > pkg@5.6.0 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.14.2-win-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.3","name":"node-v16.14.2-win-x64"} > Building base binary from source: built-v16.14.2-win-x64 > Fetching Node.js source archive from nodejs.org... > Error! AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
주요 아이디어는 해당 바이너리 파일 fetched-v16.14.2-win-x64가 캐시에 없다는 것입니다. 해당 파일을 다운로드하여 해당 캐시에 넣으십시오.
1. 공식 웹사이트로 이동하여 해당 버전 파일을 다운로드하세요. 예를 들어 내 파일은 node-v16.14.2-win-x64
공식 웹사이트 주소: https://github.com/vercel/pkg- fetch/releases
2. 이전 단계에서 다운로드한 node-v16.14.2-win-x64 파일의 이름을 fetched-v16.14.2-win-x64로 변경하고 현재 사용자의 캐시 디렉터리에 넣습니다.
예를 들어 내 캐시 디렉터리는 C:UsersMangoDowner.pkg-cache입니다. fetch 태그를 연결하면 이 디렉터리가 최종 디렉터리가 됩니다. 오류 보고서의 정보를 참조하면 태그가 v3.3임을 알 수 있습니다.
{"tag":"v3.3","name":"node-v16.14.2-win-x64"}
최종 상위 디렉터리는 C:UsersMangoDowner.pkg-cachev3.3입니다.
따라서 최종 파일 주소는 C:UsersMangoDowner.pkg-cachev3.3fetched-v16.14.2-win-x64
다시 컴파일하세요. 성공!
$ pkg -t win server.js > pkg@5.6.0
노드 관련 지식을 더 보려면 nodejs 튜토리얼을 방문하세요!
위 내용은 pkg를 사용하여 Node.js 프로젝트를 실행 파일로 패키징하는 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!