doc: update npm.md. 4e6f9853e9

This commit is contained in:
jaywcjlove
2022-10-05 07:56:10 +00:00
parent a5c59fbff4
commit a5a266e48d

View File

@ -37,7 +37,8 @@
</script><a href="https://github.com/jaywcjlove/reference" class="" target="__blank"><svg viewBox="0 0 16 16" fill="currentColor" height="1em" width="1em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a></div></div></nav><div class="wrap max-container"><header class="wrap-header h1wrap"><h1 id="npm-备忘清单"><a aria-hidden="true" tabindex="-1" href="#npm-备忘清单"><span class="icon icon-link"></span></a>npm 备忘清单</h1><div class="wrap-body">
<p>这个 npm 快速参考备忘单显示了它的常用命令使用清单。</p>
</div></header><div class="h1wrap-body"><div class="wrap"><div class="wrap-header h2wrap"><h2 id="常用命令"><a aria-hidden="true" tabindex="-1" href="#常用命令"><span class="icon icon-link"></span></a>常用命令</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="包管理"><a aria-hidden="true" tabindex="-1" href="#包管理"><span class="icon icon-link"></span></a>包管理</h3><div class="wrap-body">
<!--rehype:body-class=cols-2-->
</div></div><div class="h2wrap-body cols-2"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="包管理"><a aria-hidden="true" tabindex="-1" href="#包管理"><span class="icon icon-link"></span></a>包管理</h3><div class="wrap-body">
@ -71,7 +72,23 @@
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm i</code></td><td><code>npm install</code>的别名</td></tr><tr><td><code>npm install</code></td><td>安装 package.json 中的所有内容</td></tr><tr><td><code>npm install --production</code></td><td>安装 package.json 中的所有内容,除了 devDependecies</td></tr><tr><td><code>npm install lodash</code></td><td>安装一个包</td></tr><tr><td><code>npm install --save-dev lodash</code></td><td>安装为 devDependency</td></tr><tr><td><code>npm install --save-exact lodash</code></td><td>准确安装</td></tr></tbody></table>
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm i</code></td><td><code>npm install</code>的别名</td></tr><tr><td><code>npm install</code></td><td>安装 package.json 中的所有内容</td></tr><tr><td><code>npm install --production</code></td><td>安装 package.json 中的所有内容,除了 devDependecies</td></tr><tr><td><code>npm install lodash</code></td><td>安装一个包</td></tr><tr><td><code>npm install --save-dev lodash</code></td><td>安装为 devDependency</td></tr><tr><td><code>npm install --save-exact lodash</code></td><td>准确安装</td></tr><tr><td><code>npm install @scope/package-name</code></td><td>安装一个作用域的公共包</td></tr><tr><td><code>npm install &#x3C;package_name>@&#x3C;tag></code></td><td>使用 dist-tags 安装包</td></tr><tr><td><code>npm install -g &#x3C;package_name></code></td><td>全局安装包</td></tr><tr><td><code>npm uninstall &#x3C;package_name></code></td><td>卸载包</td></tr></tbody></table>
<p><code>--save</code> 是 npm@5 的默认值。 以前,使用不带 <code>--save</code><code>npm install</code> 不会更新 package.json。</p>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="安装名称"><a aria-hidden="true" tabindex="-1" href="#安装名称"><span class="icon icon-link"></span></a>安装名称</h3><div class="wrap-body">
@ -185,16 +202,20 @@
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm update</code></td><td>更新生产包</td></tr><tr><td><code>npm update --dev</code></td><td>更新开发包</td></tr><tr><td><code>npm update -g</code></td><td>更新全局包</td></tr><tr><td><code>npm update lodash</code></td><td>更新 lodash 包</td></tr></tbody></table>
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="杂项功能"><a aria-hidden="true" tabindex="-1" href="#杂项功能"><span class="icon icon-link"></span></a>杂项功能</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<table><thead><tr><th>命令</th><th>描述</th></tr></thead><tbody><tr><td><code>npm version &#x3C;version></code></td><td>要更改 <code>package.json</code> 中的版本号</td></tr><tr><td><code>npm update</code></td><td>更新生产包</td></tr><tr><td><code>npm update --dev</code></td><td>更新开发包</td></tr><tr><td><code>npm update -g</code></td><td>更新全局包</td></tr><tr><td><code>npm update lodash</code></td><td>更新 lodash 包</td></tr></tbody></table>
</div></div></div><div class="wrap row-span-2"><div class="wrap-header h3wrap"><h3 id="杂项功能"><a aria-hidden="true" tabindex="-1" href="#杂项功能"><span class="icon icon-link"></span></a>杂项功能</h3><div class="wrap-body">
<!--rehype:wrap-class=row-span-2-->
<p>将某人添加为所有者</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> owner <span class="token function">add</span> USERNAME PACKAGENAME
</span></code></pre>
<p>列出包</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> <span class="token function">ls</span>
</span></code></pre>
<p>向安装旧版本软件包的用户添加警告</p>
<p>向安装旧版本软件包的用户添加警告(弃用)</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> deprecate PACKAGE@<span class="token string">"&#x3C; 0.2.0"</span> <span class="token string">"critical bug fixed in v0.2.0"</span>
</span></code></pre>
<p>更新所有包或选定的包</p>
@ -203,5 +224,89 @@
<p>检查过时的包</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> outdated <span class="token punctuation">[</span>PACKAGE<span class="token punctuation">]</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="更改包裹可见性"><a aria-hidden="true" tabindex="-1" href="#更改包裹可见性"><span class="icon icon-link"></span></a>更改包裹可见性</h3><div class="wrap-body">
<p>将公共包设为私有</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> access restricted <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span>
</span></code></pre>
<p>公开私有包</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> access restricted <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span>
</span></code></pre>
<p>授予私有包访问权限</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> owner <span class="token function">add</span> <span class="token operator">&#x3C;</span>user<span class="token operator">></span> <span class="token operator">&#x3C;</span>your-package-name<span class="token operator">></span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="要将包转移到-npm-用户帐户"><a aria-hidden="true" tabindex="-1" href="#要将包转移到-npm-用户帐户"><span class="icon icon-link"></span></a>要将包转移到 npm 用户帐户</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> owner <span class="token function">add</span> <span class="token operator">&#x3C;</span>their-username<span class="token operator">></span> <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span>
</span><span class="code-line"><span class="token comment"># 新维护者接受邀请</span>
</span><span class="code-line"><span class="token function">npm</span> owner <span class="token function">rm</span> <span class="token operator">&#x3C;</span>your-username<span class="token operator">></span> <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span>
</span></code></pre>
<p>写入启用了双因素身份验证</p>
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> owner <span class="token function">add</span> <span class="token operator">&#x3C;</span>their-username<span class="token operator">></span> <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span> <span class="token parameter variable">--otp</span><span class="token operator">=</span><span class="token number">123456</span>
</span></code></pre>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="取消发布包"><a aria-hidden="true" tabindex="-1" href="#取消发布包"><span class="icon icon-link"></span></a>取消发布包</h3><div class="wrap-body">
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line"><span class="token function">npm</span> unpublish <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span> <span class="token parameter variable">-f</span>
</span><span class="code-line"><span class="token comment"># 取消指定版本</span>
</span><span class="code-line"><span class="token function">npm</span> unpublish <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span>@<span class="token operator">&#x3C;</span>version<span class="token operator">></span>
</span></code></pre>
<p>注意:如果您取消发布整个包,则必须在 24 小时后才能发布该包的任何新版本。</p>
</div></div></div></div></div><div class="wrap"><div class="wrap-header h2wrap"><h2 id="配置"><a aria-hidden="true" tabindex="-1" href="#配置"><span class="icon icon-link"></span></a>配置</h2><div class="wrap-body">
</div></div><div class="h2wrap-body"><div class="wrap"><div class="wrap-header h3wrap"><h3 id="npmrc"><a aria-hidden="true" tabindex="-1" href="#npmrc"><span class="icon icon-link"></span></a>.npmrc</h3><div class="wrap-body">
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>/path/to/project/.npmrc</code></td><td align="left">每个项目的配置文件</td></tr><tr><td align="left"><code>~/.npmrc</code></td><td align="left">每个用户的配置文件</td></tr><tr><td align="left"><code>$PREFIX/etc/npmrc</code></td><td align="left">全局配置文件</td></tr><tr><td align="left"><code>/path/to/npm/npmrc</code></td><td align="left">npm 内置配置文件</td></tr></tbody></table>
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="配置内容"><a aria-hidden="true" tabindex="-1" href="#配置内容"><span class="icon icon-link"></span></a>配置内容</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<pre class="language-ini"><code class="language-ini code-highlight"><span class="code-line"><span class="token comment"># last modified: 01 Jan 2016</span>
</span><span class="code-line"><span class="token comment">; Set a new registry for a scoped package</span>
</span><span class="code-line"><span class="token key attr-name">@myscope:registry</span><span class="token punctuation">=</span><span class="token value attr-value">https://mycustomregistry.example.org</span>
</span></code></pre>
<p>注释使用 <code>#</code>, <code>;</code> 放置到一行的开头。<code>.npmrc</code> 文件由指定此注释语法的 <a href="https://github.com/npm/ini"><code>npm/ini</code></a> 解析</p>
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="npmignore"><a aria-hidden="true" tabindex="-1" href="#npmignore"><span class="icon icon-link"></span></a><code>.npmignore</code></h3><div class="wrap-body">
<p>将下面内容存放到 <code>.npmignore</code> 文件中,放置在项目的根目录中。</p>
<pre class="language-gitignore"><code class="language-gitignore code-highlight"><span class="code-line"><span class="token entry string">.git</span>
</span><span class="code-line"><span class="token entry string">.svn</span>
</span><span class="code-line"><span class="token comment"># 忽略 .swp 后缀的文件</span>
</span><span class="code-line"><span class="token entry string">.<span class="token operator">*</span>.swp</span>
</span><span class="code-line"><span class="token entry string"><span class="token punctuation">/</span>logs<span class="token punctuation">/</span><span class="token operator">*</span></span>
</span><span class="code-line">
</span><span class="code-line"><span class="token comment"># “!” 意思是不要忽视</span>
</span><span class="code-line"><span class="token entry string"><span class="token operator">!</span>logs<span class="token punctuation">/</span>.gitkeep</span>
</span></code></pre>
<p><code>.npmignore</code> 文件就像 <a href="./git.html#%E5%BF%BD%E7%95%A5%E6%96%87%E4%BB%B6"><code>.gitignore</code></a> 一样工作。它不能覆盖 <code>package.json#files</code> 字段。</p>
</div></div></div><div class="wrap col-span-2"><div class="wrap-header h3wrap"><h3 id="中国镜像站安装"><a aria-hidden="true" tabindex="-1" href="#中国镜像站安装"><span class="icon icon-link"></span></a>中国镜像站安装</h3><div class="wrap-body">
<!--rehype:wrap-class=col-span-2-->
<pre class="language-bash"><code class="language-bash code-highlight"><span class="code-line">$ <span class="token function">npm</span> <span class="token function">install</span> <span class="token parameter variable">-g</span> <span class="token operator">&#x3C;</span>package-name<span class="token operator">></span> <span class="token parameter variable">--registry</span><span class="token operator">=</span>https://registry.npmmirror.com
</span></code></pre>
<p>将配置放置在 <code>.npmrc</code> 配置文件中。</p>
<pre class="language-ini"><code class="language-ini code-highlight"><span class="code-line"><span class="token key attr-name">registry</span><span class="token punctuation">=</span><span class="token value attr-value">https://registry.npmmirror.com</span>
</span></code></pre>
<p>或者配置到 <code>package.json#publishConfig</code> 字段上</p>
<pre class="language-json"><code class="language-json code-highlight"><span class="code-line"><span class="token property">"publishConfig"</span><span class="token operator">:</span><span class="token punctuation">{</span>
</span><span class="code-line"> <span class="token property">"registry"</span><span class="token operator">:</span> <span class="token string">"https://registry.npmmirror.com"</span>
</span><span class="code-line"><span class="token punctuation">}</span>
</span></code></pre>
<p>请参阅:<a href="https://npmmirror.com/">npmmirror 中国镜像站</a></p>
</div></div></div></div></div></div></div><footer class="footer-wrap"><footer class="max-container">© 2022 Kenny Wang, All rights reserved.</footer></footer></body>
</html>