node、npm常用技巧

478 阅读3分钟
  1. 如何让手机端支持访问本地vue项目
    • 步骤1.将index.js中的host的值改为‘0.0.0.0’
    • 步骤2.修改package.json中script下dev的值,在后面加入 --host 0.0.0.0 也可以解决
    • 步骤3.关闭防火墙(#控制面板-->系统和安全-->window防火墙-->)
  2. node-sass初始化失败
    1. 解决办法:
      • 保存后 删除之前安装失败的包(第一次安装请跳过此步)
      • npm uninstall node-sass
      • 重新安装
      • npm install node-sass
    2. 添加参数(--unsafe-perm)
      • (--unsafe-perm 在root下默认值为false,其他的默认值为true)
      • (设置为true,在run package script时会切换UID/GID 明确设置为false,在非root用户下安装会失败)
      • npm install --unsafe-perm node-sass
    3. 添加参数(--user=root)
      • npm install --user=root node-sass
  3. 防止npm install命令对package-lock.json文件自动做额外的更新
    • npm install --no-save
  4. npm切换源
    1. 清空 npm 缓存

      • npm cache clean -f
    2. 切换镜像

      • 查看镜像地址:

        npm get registry
        
      • 设成淘宝的镜像:

        npm config set registry npm config set registry https://registry.npmmirror.com/
        
      • 切换回原镜像:

        npm config set registry https://registry.npmjs.org/
        
    3. 如果不使用cnpm,又想加快下载速度,可以使用镜像,如:

       ```
       npm --registry=https://registry.npmmirror.com i
       ```
       
       ```
       npm install --registry=https://registry.npmmirror.com
       ```
      
  5. window创建文件夹时常见的问题
    1. 为何文件夹起不了"AUX"名字?
    • indows 下不能够以下面这些字样来命名文件/文件夹,包括:du“zhiaux”“com1”“com2”“prn”“con”和“nul”等,因为这些名字都属于设备名称,等价于一个 DOS 设备,如果我们把文件命名为这些名字,Windows 就会误以为发生重名,所以会提示“不能创建同名的文件”等等。
    • 当然,有一些特殊的方法可以偷机取巧,建立以这些设备名为名的文件夹,比如我们在命令提示符下执行“md C:\aux\”,就在 C 盘建了一个名叫 aux 的文件夹。此文件夹虽然可以访问,也可以建立子文件夹,但却无法删除,因为 Windows 不允许以这种方式删除设备。在系统看来,这个 aux 文件夹就是设备。
    • 那么,如何删除这样的文件/文件夹呢?我们只要按照完整的 UNC 路径格式,就是网上邻居的路径格式,正确输入文件路径及文件名即可。比如要删除 C 盘下的 aux 文件夹,可在命令提示符下执行:rd /s \.\C:\aux,rd 是命令提示符删除文件夹的命令,/s 参数表示从所有子目录删除指定文件。
  6. PowerShell中创建vue项目提示无法加载文件vue.psl
    • 以管理员身份运行PowerShell
    • 执行:get-ExecutionPolicy,如果显示Restricted,表示状态是禁止的
    • 执行:set-ExecutionPolicy RemoteSigned
    • 选择Y
  7. npm install失败
    1. vue-typescript-admin-template-master初始化失败
   - 首先将node版本升级到最新的稳定版然后再进行构建,如果还是失败再尝试一下方法
     - 解决办法1,以管理员权限运行以下指令

         $ npm install --global --production windows-build-tools

     - 解决办法2,本地安装python2.7
     - 解决办法3,关闭npm的https(取消npm的https认证)
         npm config set strict-ssl false
2. 出现以下报错
 npm ERR! code ERR_TLS_CERT_ALTNAME_INVALID
    ```
    npm ERR! errno ERR_TLS_CERT_ALTNAME_INVALID
    npm ERR! request to https://registry.cnpmjs.org/npm failed, reason: Hostname/IP does not match certificate's altnames: Host: registry.cnpmjs.org. is not in the cert's altnames: DNS:r.cnpmjs.org

    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\Admin\AppData\Roaming\npm-cache\_logs\2021-02-24T02_42_03_866Z-debug.log
    ```
 命令行下执行:

  关闭npm的https(取消npm的https认证)
  npm config set strict-ssl false
  npm install -g supervisor

8.PowerShell切换管理员权限

Start-Process powershell -Verb runAs 

9.node版本管理器

可以尝试使用gnvm
// node切换
gnvm ls
gnvm install 版本号
gnvm use 版本号
// npm 切换
npm -g install npm@6.14.4  
npm -g install npm@8.19.4
  1. node与npm版本对应
// 版本对应关系
https://nodejs.org/zh-cn/download/releases

npm install npm@8.19.4 -g