npm 使用常见问题

1、在国内使用最好切换到taobao提供的镜像:

     参考网址:https://npm.taobao.org/

*默认使用 http://registry.npmjs.org在国内不稳定*

npm config set registry=https://registry.npm.taobao.org

2、npm install 报错不存在package.json

  

 /*-f表示force的意思,不加这个,npm会让你输入一堆信息,比如name、version之类,如果只是做做实验小demo,直接-f,npm帮你初始化package.json,并填充各种默认值,省事。*/
npm init -f //强迫初始化文件

npm install bluebird --save

/* –save表示将安装的包加入依赖列表的意思,可以看下package.json 里的dependencies字段。后面再运行 npm install,就会把所有依赖安装下来。如果不加–save,什么都不会安装。*/

3、Laravel npm install 报错syscall symlink的原因及解决办法

  原因是npm默认会使用symbolic links来安装组件,也即我们在linux系统里经常用的软链接(ln -s)或硬链接(ln),但是有些文件系统不支持文件链接,比如Windows(或者说出于安全原因禁用了),有时候linux系统运行在有windows分区的硬盘上也不支持链接,比如virtualbox在windows主机上默认禁止在共享文件夹里使用symbolic links,当然也是出于安全考虑。
那么npm install默认需要使用symbolic link,而且这也本身也是npm比较重要的一个特性,但如果我们的系统不支持这一属性的话,就会报上面的错误了。
解决办法,就是在npm install的时候加上一个参数,就是--no-bin-links,也即npm install --no-bin-links:
也即是说,为了防止syscall symlink错误,如果你是在windows使用npm,或者即使在homestead里,但主机是windows,那么每次你执行npm安装或更新组件相关的命令时,都要在后面加上--no-bin-links,比如你要npm update --no-bin-links,你也要npm rebuild node-sass -no-bin-links,确实挺麻烦的
当然,你也可以整体设置一下npm,让它默认不再使用文件链接功能了,执行:
npm config set bin-links false

  

4、没有这样的文件或目录,scandir'/ home / vagrant / Code / sample / node_modules / node-sass / vendor'

  使用 npm 重新生成 node-saaa

  npm rebuild node-sass  --no-bin-links

在windows host中的vagrant box Linux中使用npm install时,由于host os不支持linux的symbol link,所以必须使用 --no-bin-links 命令

其实windows上也能使用文件链接,但条件是,必须是拥有管理员权限才行,如果你在执行vagrant up前,打开你的命令行的时候,使用了管理员权限来打开,那么其实npm install不加--no-bin-links也不会报错,


5、 Laravel执行 npm run dev时报错,提示cross-env找不到(not found)的解决办法
  
  首先进入package.json文件, 将scripts下的所有cross-env删除掉,(devDependencies下的不能删除)

猜你喜欢

转载自www.cnblogs.com/fogwang/p/12120329.html