We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.为什么要搭建本地npm服务器? 在开发内部项目时,会有很多可复用的模块,而这些模块几乎都会牵涉到一些公司内部的业务逻辑,所以不方便对外开放,又存在需要在各个业务线流通复用的需求。所以搭建一个本地npm服务器是最有用的。
2.如果使用内部npm服务器,是否再需要用到外面的包需要切换? 并不需要,本地npm服务器搭建时,可以配置在本地服务器上找不到包时,会自动去外面哪个npm服务器上找。
使用verdaccio进行搭建。详细请参考官网
1.全局安装
npm install -g verdaccio
2.启动
# verdaccio or # pm2 start verdaccio(推荐)
3.配置 一般在如下地址进行配置修改.(启动后在终端就会看到配置地址)
/Users/[user]/.config/verdaccio/config.yaml
注意一点:配置文件中的 listen为"监听的端口 ,不配置这个,那就只能本机能访问"(一般 listen: 0.0.0.0:4873)
你看,很简单吧。默认访问链接: http://localhost:4873/
1.设置当前npm服务只想的仓库地址
npm set registry http://localhost:4873
2.注册用户
npm adduser –registry http://localhost:4873
按照提示输入username 和 password,email
3.然后本地开发下载包,或者发布npm内部包,即可用:
npm install [--registry http://localhost:4873] or npm publish [--registry http://localhost:4873]
内部的包最好加上 @公司英文简称/报名, 如 @baidu/pkg-test,一方面是为了标识是内部包,另一方面防止跟外面的包名字冲突。
上面我们使用npm set的方式每次都需要输入registry的仓库地址,非常的麻烦。nrm是 npm registry 管理工具, 能够查看和切换当前使用的registry。使用它会让切换npm变得十分高效.
1.安装
npm install -g nrm
默认,像npm、cnpm等常用仓库已经添加进去了。
2.添加内部npm registry
nrm add [别名] http://localhost:4873
3.查看 输入 nrm ls 可看到类似如下内容:
npm ---- https://registry.npmjs.org/ cnpm --- http://r.cnpmjs.org/ taobao - https://registry.npm.taobao.org/ nj ----- https://registry.nodejitsu.com/ 别名 ----- http://localhost:4873
4.切换内部registry
nrm use 别名
.npmrc文件,是npm的配置文件所在位置。默认可以通过npm config edit去编辑. 可以在项目根目录新建.npmrc文件去配置当前项目的npm配置. registry=http://xxx:4873
mac下可以通过修改host配置自己的域名,然后使用pm2启动,这样下次就直接访问即可.
// mac修改hosts:桌面->前往->前往文件夹->/private/etc/hosts->配置一个host,如 127.0.0.1 npm.kebin.org, 然后就可以通过 http://npm.kebin.org:4873 进行访问了
Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。
npm install -g npx
npx 想要解决的主要问题,就是调用项目内部安装的模块。比如,项目内部安装了测试工具 Mocha。
npm install -D mocha
一般来说,调用 Mocha ,只能在项目脚本和 package.json 的scripts字段里面, 如果想在命令行下调用,必须像下面这样。
# 项目的根目录下执行 $ node-modules/.bin/mocha --version
npx 就是想解决这个问题,让项目内部安装的模块用起来更方便,只要像下面这样调用就行了。
$ npx mocha --version
npx 的原理很简单,就是运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在。
脚本用env启动的原因,是因为脚本解释器在linux中可能被安装于不同的目录,env可以在系统的PATH目录中查找。这种写法主要是为了让你的程序在不同的系统上都能适用,即可以获取到环境变量中对应的语言解释器。
所以node的脚手架开发(bin目录)及脚本开发,开头都需要加上这句,用于解释器解释运行脚本。
#! /usr/bin/env node
npm i --production --unsafe-perm=true --allow-root
The text was updated successfully, but these errors were encountered:
No branches or pull requests
前言
1.为什么要搭建本地npm服务器?
在开发内部项目时,会有很多可复用的模块,而这些模块几乎都会牵涉到一些公司内部的业务逻辑,所以不方便对外开放,又存在需要在各个业务线流通复用的需求。所以搭建一个本地npm服务器是最有用的。
2.如果使用内部npm服务器,是否再需要用到外面的包需要切换?
并不需要,本地npm服务器搭建时,可以配置在本地服务器上找不到包时,会自动去外面哪个npm服务器上找。
搭建
使用verdaccio进行搭建。详细请参考官网
1.全局安装
2.启动
3.配置
一般在如下地址进行配置修改.(启动后在终端就会看到配置地址)
注意一点:配置文件中的 listen为"监听的端口 ,不配置这个,那就只能本机能访问"(一般 listen: 0.0.0.0:4873)
你看,很简单吧。默认访问链接: http://localhost:4873/
使用
1.设置当前npm服务只想的仓库地址
2.注册用户
按照提示输入username 和 password,email
3.然后本地开发下载包,或者发布npm内部包,即可用:
使用nrm来切换npm仓库
上面我们使用npm set的方式每次都需要输入registry的仓库地址,非常的麻烦。nrm是 npm registry 管理工具, 能够查看和切换当前使用的registry。使用它会让切换npm变得十分高效.
1.安装
默认,像npm、cnpm等常用仓库已经添加进去了。
2.添加内部npm registry
3.查看
输入 nrm ls 可看到类似如下内容:
4.切换内部registry
npx
Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。
介绍
npx 想要解决的主要问题,就是调用项目内部安装的模块。比如,项目内部安装了测试工具 Mocha。
一般来说,调用 Mocha ,只能在项目脚本和 package.json 的scripts字段里面, 如果想在命令行下调用,必须像下面这样。
npx 就是想解决这个问题,让项目内部安装的模块用起来更方便,只要像下面这样调用就行了。
npx 的原理很简单,就是运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在。
#! /usr/bin/env在脚本中的作用
脚本用env启动的原因,是因为脚本解释器在linux中可能被安装于不同的目录,env可以在系统的PATH目录中查找。这种写法主要是为了让你的程序在不同的系统上都能适用,即可以获取到环境变量中对应的语言解释器。
所以node的脚手架开发(bin目录)及脚本开发,开头都需要加上这句,用于解释器解释运行脚本。
兼容安装方式
The text was updated successfully, but these errors were encountered: