@ankuru23

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

vue-cliを用いてプロジェクトを作成したい

Q&A

Closed

解決したいこと

vue-cliを用いてプロジェクトを作成したい

発生している問題・エラー

npx vue create vue-applicationコマンドをMacのターミナルで実行すると

npm ERR! could not determine executable to run

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/choukikazutaka/.npm/_logs/2021-11-19T16_02_35_311Z-debug.log

とエラーが表示されてプロジェクトが作られませんなぜなのでしょうか?

0 likes

4Answer

vue コマンドは vue パッケージではなく @vue/cli パッケージに入っています。

npx vue ...vue パッケージだけダウンロードして vue コマンドを実行しようとするするのでうまくいきません。

npx --package=@vue/cli vue create vue-application

と実行してください。

0Like

Comments

  1. @ankuru23

    Questioner

    教えていただいたコマンドを入力して作成することはできたのですが
    npm run serve とコマンドを入力すると今度は違うエラーが表示されGoogleで検索してもうまく解決できなかったのですがどんなエラーなのでしょうか?

    > vue-application@0.1.0 serve
    > vue-cli-service serve

    INFO Starting development server...
    10% building 2/3 modules 1 active ...utaka/Desktop/vue-application/src/main.jsError: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at module.exports (/Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at iterateNormalLoaders (/Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:236:3
    at runSyncOrAsync (/Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
    at iterateNormalLoaders (/Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
    at Array.<anonymous> (/Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/Users/choukikazutaka/Desktop/vue-application/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    10% building 2/5 modules 3 active ...on/node_modules/webpack/hot/dev-server.jsnode:internal/crypto/hash:67
    this[kHandle] = new _Hash(algorithm, xofLen);
    ^

    Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:130:10)
    at module.exports (/Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at Array.<anonymous> (/Users/choukikazutaka/Desktop/vue-application/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (/Users/choukikazutaka/Desktop/vue-application/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at /Users/choukikazutaka/Desktop/vue-application/node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
    opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
    library: 'digital envelope routines',
    reason: 'unsupported',
    code: 'ERR_OSSL_EVP_UNSUPPORTED'
    }
  2. Node.js v17 のバグのようです。 Node.js v16 を使ってください。あるいは、以下の環境変数をセットすることでも回避できます。

    export NODE_OPTIONS=--openssl-legacy-provider

    参考 https://github.com/webpack/webpack/issues/14532
  3. @ankuru23

    Questioner

    ありがとうございました

    無事に解決しました

@symformix npm install -g @vue/cli でインストールすれば問題ないですね。インストールせずにnpx vue ... で実行するとエラーが出るという話です。

0Like

@symformix さっき作った hello-world ディレクトリの中で npx vue ... を実行していませんか? 普通に使えるのは package.json に @vue/cli が存在するせいだと思います。ディレクトリの外に移動すれば使えないのでは。

訂正: package.json にあるとき使えるのに加えて、 npm install -g @vue/cli した後であればディレクトリの外でも npx vue ... が使えるようです。以下のコードは訂正前のものです。

% mkdir proj && cd proj && npm init -y && npm install @vue/cli
略

% npx vue create vue-application
Vue CLI v4.5.15
? Please pick a preset: (Use arrow keys)
❯ Default ([Vue 2] babel, eslint)
  Default (Vue 3) ([Vue 3] babel, eslint)
  Manually select features
^C

% cd ~/ && npx vue create vue-application 
npm ERR! could not determine executable to run
...

ちなみに npm install -g @vue/cli しても npx vue ... が使えるようにはなりません。

訂正:これは Node.js を Volta でインストールしたときに起きることのようです。そうでない場合、 npm install -g @vue/cli したら npx vue ... が使えました。以下のコードは訂正前のものです。

% npx vue create vue-application
npm ERR! could not determine executable to run
...

% npm install -g @vue/cli
略

% npx vue create vue-application
npm ERR! could not determine executable to run
...

(Node.js v16.13.0, npx v8.1.0)

0Like

@sysformix 失礼しました、先ほどの返信を訂正しました。 npm install -g @vue/cli した後ならどこでも npx vue ... が使えるようです。自分の環境では Node.js バージョンマネージャの影響でそうなっていませんでした。

0Like

Your answer might help someone💌