npxでserverless(sls) create -t aws-nodejs-typescriptするとエラーになる対処法
Serverless Error ---- The file "package.json" already exists, and serverless will not overwrite it. Move the file and try again if you want serverless to write a new "package.json"
エラー内容
npxでserverless(sls)コマンドを使い、TypeScriptのテンプレートを使ってサービスを作成しようとするとエラーになります。具体的なコマンド例は以下です。
$ npm init -y (出力は省略) $ npm install -D serverless (出力は省略。バージョン2.1.1のServerlessコマンドがインストールされました。) $ npx sls create -t aws-nodejs-typescript Serverless: Generating boilerplate... Serverless Error --------------------------------------- The file "package.json" already exists, and serverless will not overwrite it. Move the file and try again if you want serverless to write a new "package.json" Get Support -------------------------------------------- Docs: docs.serverless.com Bugs: github.com/serverless/serverless/issues Issues: forum.serverless.com Your Environment Information --------------------------- Operating System: darwin Node Version: 12.16.1 Framework Version: 2.1.1 (local) Plugin Version: 4.0.4 SDK Version: 2.3.2 Components Version: 3.1.3
TypeScriptのテンプレートはpackage.json
を新規作成しますが、そのファイルは前段の npm init -y
ですでに作成されているためにエラーになっています。
エラー解消法
--path
か -p
オプションを使って子ディレクトリにサービスを作成しましょう。今回はkazue-test
という子ディレクトリにしています。
$ npx sls create -t aws-nodejs-typescript -p kazue-test
ただし、その子ディクトリではnpxでserverless(sls)コマンドが使えないので、再度インストールします。
$ cd kazue-test $ npm install -D serverless (出力は省略) $ npm install (出力は省略)
これで以降は問題なくnpxでserverless(sls)コマンドが使えるようになります。
$ npx sls deploy Serverless: Bundling with Webpack... Time: 292ms Built at: 2020-09-22 20:33:18 Asset Size Chunks Chunk Names handler.js 1.28 KiB 0 [emitted] handler handler.js.map 5.27 KiB 0 [emitted] [dev] handler Entrypoint handler = handler.js handler.js.map [0] ./handler.ts 316 bytes {0} [built] [1] external "source-map-support/register" 42 bytes {0} [built] Serverless: Package lock found - Using locked versions Serverless: Packing external modules: source-map-support@^0.5.10 Serverless: Packaging service... Serverless: Creating Stack... Serverless: Checking Stack create progress... ........ Serverless: Stack create finished... Serverless: Uploading CloudFormation file to S3... Serverless: Uploading artifacts... Serverless: Uploading service kazue-test.zip file to S3 (289.5 KB)... Serverless: Validating template... Serverless: Updating Stack... Serverless: Checking Stack update progress... .............................. Serverless: Stack update finished... Service Information service: kazue-test stage: dev region: us-east-1 stack: kazue-test-dev resources: 11 api keys: None endpoints: GET - https://bc3t0ptn3l.execute-api.us-east-1.amazonaws.com/dev/hello functions: hello: kazue-test-dev-hello layers: None