基础

NPM和NPX

  • NPM: Node Package Manager

NPM是一种包管理器,用于管理packeage.json下的依赖包,比如:

npm install package_name

如果NPM用于执行包的内部脚本,package.json如下:

{
    "name": "Project-Name",
    "version": "x.y.z",
    "scripts": {
        "package-name": "package-name"
    }
}

执行以上包:

npm run package-name
  • NPX : Node Package execute

NPX是一种可以执行任何JavaScript包的指令,NPM version 5.2.0上无需单独安装即可使用npx指令,npx执行的目标包无需npm单独安装即可执行:

npx any_javascript_package_name

最常见的有

npx create-react-app my_app

使用NPM LINK进行本地包引用

在目标的包目录(含package.json)执行以下命令,该命令会在Node环境下的node_modules下创建引用链接
npm link
在项目中引用
npm link packageName
在项目中取消引用
npm unlink --no-save package && npm install
取消引用使用以下命令:
npm unlink
项目中unlink
npm unlink --no-save package && npm install

gyp无法使用

该情况主要由于系统的策略导致,可以在PowerShell下执行命令进行解除限制:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
  1. Electron安装慢问题主要由于Electron的源比较慢,可以更换为淘宝源,具体更改在.npmrc文件
# registry=https://repo.huaweicloud.com/repository/npm/

registry=https://registry.npmjs.org/electron_mirror=https://cdn.npm.taobao.org/dist/electron/

# msvs_version=2022

proxy=http://127.0.0.1:1081/

Setting proxy

在使用Node的时候,需要用到npm,但是npm的默认源在国外,链接速度慢,可以考虑更换国内源或者设置代理,此处我们使用代理的方式:

可以通过两种方式去设置

1. 通过编辑.npmrc设置源
#改用国内源
# registry=https://repo.huaweicloud.com/repository/npm/ registry=https://registry.npmjs.org/
# msvs_version=2022
proxy=http://127.0.0.1:1081/
2. 通过命令行设置
npm config set proxy http://127.0.0.1:1080

yarn被限制使用

当在Node项目中使用yarn出现以下问题的时候:

yarn : File C:\Users\wentu\AppData\Roaming\npm\yarn.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at
At line:1 char:1

+ yarn install node-sass
+ ~~~~
  
  ~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

解决:执行以下命令:

$ Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
最后修改:2023 年 07 月 05 日
如果觉得我的文章对你有用,请随意赞赏