89395


mdnのwebページで「スケルトンwebサイトを実行する」というタスクに取り掛かっています。（以下にサイトURLを記載）  
<https://developer.mozilla.org/ja/docs/Learn/Server-
side/Express_Nodejs/skeleton_website>  
指示通りにpowershellにコマンドを入力していたのですが，アプリケーション実行時に次のようなエラーが発生しました。

入力コマンド

[code]

    SET DEBUG=express-locallibrary-tutorial:* """&""" npm start
    
[/code]

エラー内容

[code]

    発生場所 行:1 文字:43
    + SET DEBUG=express-locallibrary-tutorial:* & npm start
    +                                           ~
    アンパサンド (&) 文字は許可されていません。& 演算子は、今後使用するために予約されています。アンパサンドを二重引用符で囲
    み ("&")、文字列の一部として渡してください。
        + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
        + FullyQualifiedErrorId : AmpersandNotAllowed
    
[/code]

エラー内容から＆演算子が特殊文字ゆえにエスケープできていないと考え，バッククオートを前につけて再度実行しました。結果はつぎのとおりです。

入力コマンド

[code]

    SET DEBUG=express-locallibrary-tutorial:* `& npm start
    
[/code]

エラー内容

[code]

    Set-Variable : 引数 'npm' を受け入れる位置指定パラメーターが見つかりません。
    発生場所 行:1 文字:1
    + SET DEBUG=express-locallibrary-tutorial:* `& npm start
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidArgument: (:) [Set-Variable]、ParameterBindingException
        + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetVariableCommand
    
[/code]

どうすればアプリケーションを実行できるでしょうか？

実行環境は次のとおりです。  
Node.js:ver 11.13.0  
アプリケーションジェネレータ：express-generator  
os:windows 11 Home  
Powershell:ver 5.1


CC BY-SA 4.0
2022-06-15T04:56:00.917
89394
2022-06-15T05:13:03.360
52517
question
node.js powershell
powershellでの＆演算子の使い方について


PowerShellではなくコマンドプロンプト(CMD.EXE)を使ってください。

一応、この部分は参考チュートリアルの[英語版](https://developer.mozilla.org/en-US/docs/Learn/Server-
side/Express_Nodejs/skeleton_website#creating_the_project)の通り、下記のPowerShellスクリプトで動くようです。

[code]

    $ENV:DEBUG = "express-locallibrary-tutorial:*"; npm start
    
[/code]

しかしその後のNote(下記引用)の通り、チュートリアルでコマンドプロンプトの使用が公式に推奨されています。

> Note: Powershell commands are not covered further in this tutorial (The
> provided "Windows" commands assume you're using the Windows CMD prompt.)

### Noteが出た経緯

この部分のPowerShell対応は [PowerShell command missing, only has CMD and does not tell
you that its CMD only
#1580](https://github.com/mdn/content/issues/1580)で提案されました。  
上記の懸案は[Fix up powershell and flaws
#1601](https://github.com/mdn/content/pull/1601)で対応されましたが、日本語版には反映されていません。  
その後に[Issue with "Express Tutorial Part 2: Creating a skeleton websi…": …
#1699](https://github.com/mdn/content/issues/1699)は、これ以上PowerShell対応しない旨の結論でクローズされています。

これ以降のセクションもPowerShellの造詣が深くないと同様のエラーが出てきますので、繰り返しになりますがコマンドプロンプト(CMD.EXE)を使いましょう。


CC BY-SA 4.0
2022-06-15T05:13:03.360
89395
2022-06-15T05:13:03.360
9820
89394
answer