Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@horihiro

nodist では、まだ npm@6.0.0 がインストールできない(2018年5月4日からインストールできます)

(2018/05/04追記)
npm の Releases ページに v6.0.0 が掲載され、nodist でもインストール可能になりました。


npm って、実行すると、たまにアップデートを促しますよね。

こんな感じの。

   ╭─────────────────────────────────────╮
   │                                     │
   │   Update available 5.6.0 → 6.0.0    │
   │     Run npm i -g npm to update      │
   │                                     │
   ╰─────────────────────────────────────╯

なので、nodist で入れた npm でもアップデートしようと思ったわけです。
こんな感じで。

> nodist npm 6.0.0

そしたら、怒られるわけです。こんな感じ。

npm 6.0.0
Cannot read property 'trim' of null.
Sorry.

いろいろ調べてみたら、nodistGitHub 上の Releases のページを参照していて、このページでリリースされていないバージョンが指定されたら、上のエラーが出るっぽいです。

なので、上のページの最新リリース、6.0.0-next.2 を指定すると、インストールは始まります。怖くて途中でやめましたが。
こんな感じで。

> nodist npm 6.0.0-next.2

なぜ npm は release してないバージョンへのアップデートを促すのか。。。
-> npm は、https://registry.npmjs.org/npm にあるメタデータを見て、判断しています。つまり、npm@6.0.0 は、正式にリリース済みでした。
そして nodist も、6.0.0 is not found くらい言ってくれればいいのに。。。

(追記)
nodist の中のファイル (%NODIST_DIR%\lib\npm.js)を下のように書き換えて、tags からバージョン リストを取得するようにすると入れらないことはないですが、自己責任で。

オリジナル
 47: NPMIST.listAvailable = function(){
 48:   return github.releases.listReleasesAsync({
 49:     owner: 'npm',
     (中略)
184:     var available = results.map(function(v){
185:       return v.tag_name;
186:     });
魔改造
 47: NPMIST.listAvailable = function(){
 48:   return github.repos.getTagsAsync({ user: 'npm',
 49:     owner: 'npm',
     (中略)
184:     var available = results.map(function(v){
185:       return v.name;
186:     });

魔改造後のインストール結果

> npm 6.0.0
https://codeload.github.com/npm/npm/tar.gz/v6.0.0 [============   ] 6815/8351 KiB 82% 7.3s
> npm -v
6.0.0
7
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What is going on with this article?