#関連ページ

$lsx()

# npm のバージョンが上がらない問題の解決

nodist 0.8.8 で確認

## 再現手順

1. nodist インストール
1. `npm install -g npm`
    - メッセージ的には最新の npm がインストールされる(仮に、4.4.x がインストールされたとする)
1. `npm -v` を打つ

## 症状

nodist インストール時にデフォルトでインストールされた npm しか利用できない

```
$ npm -v
4.0.5
```

## 原因

npm コマンドで実行される `C:\Program Files (x86)\Nodist\bin\npm.cmd` は、<br>
カレントディレクトリに npm.exe が存在する場合それを利用するようになっている。

## 対策

`C:\Program Files (x86)\Nodist\bin\npm.exe` を削除(またはリネーム)する。

上記で、`nodist/bin/node_modules/npm` を利用するようになる

# yarnするとどうしてもglobalに設定したnode.js versionが使用されてしまう問題

nodist 0.8.8 で確認

## 再現手順

1. nodistをインストール
2. globalで十分に古いnode versionを指定する
   ```
   > nodist + 6
   > nodist global 6
   ```
3. angular CLIを使用する既存のangular project dirをcurrent directoryにする
4. yarnする

## 症状

- yarnによるengine checkに引っかかって停止する(enginesでnodeのversion指定がある場合)
   ```
   PS C:\Users\hogehoge\Documents\repos\centra> yarn install --silient

   yarn install v1.13.0
   [1/5] Validating package.json...
   error centra@0.0.0: The engine "node" is incompatible with this module. Expected version ">= 8.12.0 <9". Got "10.15.2"
   error Found incompatible module
   info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
   ```


## 原因

- nodistは引数に指定したjsファイルのdirの.node-versionを参照する仕様のため、 yarn.js が配置されているdirからroot dir上にある.node-versionを参照しようとする
  - see: https://github.com/nullivex/nodist#scope-precedence

## 対策

- `yarn.cmd` の先頭に以下を加えることでversionを強制する
   ```
   @SETLOCAL
   for /f "usebackq tokens=*" %%i in (`node -v`) do @SET NODIST_NODE_VERSION=%%i
   ```


---

## Page Navigation

- Canonical URL: https://tips.weseek.co.jp/Tips/JavaScript/nodist
- Permalink: https://tips.weseek.co.jp/5fb74fa7a1ba4200489a4c05
- Parent: [JavaScript](/5fb74e7aa1ba4200489a4bd1.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 6 total
  - [Express](/65069da24603e7ff39a6b3db.md)
  - [Sequelize](/65069da24603e7ff39a6b3d7.md)
  - [Streams](/5fb74f7ea1ba4200489a4bf8.md)
  - [yarnとnpmの違い](/5fb74fd9a1ba4200489a4c0e.md)
  - [デバッグの勘所](/5fb75061a1ba4200489a4c26.md)
  - [命名規則](/60ae84d41091010049bed55d.md)
- Last updated: 2020-11-20T05:09:59.529Z by takuya
- Full page listing (all children regardless of count): https://tips.weseek.co.jp/_api/v3/page-listing/children?id=5fb74fa7a1ba4200489a4c05
